Spring涓璼chedulerfactorybean濡備綍浣跨敤
鍦⊿pring涓紝SchedulerFactoryBean鏄竴涓敤浜庡垱寤哄拰绠$悊璋冨害鍣紙Scheduler锛夌殑宸ュ巶bean銆傚畠灏佽浜哘uartz妗嗘灦锛?/span>鍙互鐢ㄦ潵瀹炵幇瀹氭椂浠诲姟鐨勮皟搴︺€?/span>
瑕佷娇鐢⊿chedulerFactoryBean锛岃鎸夌収浠ヤ笅姝ラ杩涜鎿嶄綔锛?/span>
绗竴姝ワ細娣诲姞渚濊禆
棣栧厛锛屽湪浣犵殑椤圭洰涓坊鍔燪uartz鐩稿叧鐨勪緷璧栵紝濡備笅鎵€绀猴細
<dependency><groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.x.x</version>
</dependency>
绗簩姝ワ細閰嶇疆SchedulerFactoryBean
鍦⊿pring鐨勯厤缃枃浠讹紙閫氬父涓篴pplicationContext.xml锛変腑锛岄厤缃甋chedulerFactoryBean骞惰缃浉鍏冲睘鎬э紝渚嬪锛?/span>
<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><!-- 鏁版嵁婧愰厤缃?nbsp;-->
<property name="dataSource" ref="dataSource"/>
<!-- Quartz灞炴€ч厤缃?nbsp;-->
<property name="autoStartup" value="true"/>
<property name="overwriteExistingJobs" value="true"/>
<!-- 浣滀笟鑷姩鎵弿閰嶇疆 -->
<property name="scanInterval" value="5000"/>
<property name="jobDetails">
<list>
<!-- 瀹氫箟JobDetail -->
</list>
</property>
<!-- 瑙﹀彂鍣ㄩ厤缃?nbsp;-->
<property name="triggers">
<list>
<!-- 瀹氫箟瑙﹀彂鍣?nbsp;-->
</list>
</property>
<!-- 鍏朵粬閰嶇疆椤?nbsp;-->
</bean>
鍦ㄤ笂杩伴厤缃腑锛屽彲浠ヨ缃暟鎹簮銆丵uartz灞炴€с€佷綔涓氳嚜鍔ㄦ壂鎻忛厤缃拰瑙﹀彂鍣ㄧ瓑銆?/span>
绗笁姝ワ細瀹氫箟JobDetail鍜孴rigger
鍦⊿chedulerFactoryBean鐨勯厤缃腑锛岄渶瑕佸畾涔塉obDetail锛堜綔涓氾級鍜孴rigger锛堣Е鍙戝櫒锛夈€備緥濡傦細
<bean id="myJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><property name="targetObject" ref="myTask"/>
<property name="targetMethod" value="doTask"/>
</bean>
<bean id="myTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
<property name="jobDetail" ref="myJob"/>
<property name="startDelay" value="1000"/>
<property name="repeatInterval" value="5000"/>
</bean>
涓婅堪绀轰緥涓紝myJob鏄竴涓疄鐜颁簡Job鎺ュ彛鐨凷pring Bean锛宮yTrigger鏄竴涓畝鍗曡Е鍙戝櫒锛屽畠鎸囧畾浜嗕綔涓氱殑鍚姩寤惰繜鍜?/span>閲嶅闂撮殧銆?/span>
绗洓姝ワ細鑾峰彇Scheduler骞跺惎鍔ㄨ皟搴﹀櫒
鍦ㄤ唬鐮佷腑鑾峰彇Scheduler瀵硅薄锛屽苟鍚姩璋冨害鍣ㄣ€備緥濡傦紝鍦⊿pring Boot涓紝鍙互浣跨敤@Scheduled娉ㄨВ鎴栧疄鐜?/span>SchedulingConfigurer鎺ュ彛鏉ュ疄鐜拌皟搴︿换鍔°€?/span>
@Autowiredprivate SchedulerFactoryBean schedulerFactory;
public void startScheduler() throws SchedulerException {
Scheduler scheduler = schedulerFactory.getScheduler();
scheduler.start();
}
閫氳繃浠ヤ笂姝ラ锛屾偍灏卞彲浠ュ湪Spring涓娇鐢⊿chedulerFactoryBean鏉ュ垱寤哄拰绠$悊璋冨害鍣紝骞惰缃浉鍏崇殑瀹氭椂浠诲姟銆?/span>
相关问答