扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

Spring涓璼chedulerfactorybean濡備綍浣跨敤

扬州沐宇科技
2023-08-23 19:47:03
spring

鍦⊿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>

@Autowired

private SchedulerFactoryBean schedulerFactory;

public void startScheduler() throws SchedulerException {

    Scheduler scheduler = schedulerFactory.getScheduler();

    scheduler.start();

}

閫氳繃浠ヤ笂姝ラ锛屾偍灏卞彲浠ュ湪Spring涓娇鐢⊿chedulerFactoryBean鏉ュ垱寤哄拰绠$悊璋冨害鍣紝骞惰缃浉鍏崇殑瀹氭椂浠诲姟銆?/span>

扫码添加客服微信