spring 使用xml配置文件实现quartz作业调度

 spring 使用xml配置文件实现quartz作业调度

 

No0:准备依赖

<dependency>

    <groupId>org.quartz-scheduler</groupId>

    <artifactId>quartz</artifactId>

    <version>1.8.5</version>

</dependency>

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-core</artifactId>

    <version>3.1.2.RELEASE</version>

</dependency>

 

No1:定义业务对象

@Service(value = "gameService")

public class GameServiceImpl implements IGameService{

    /**

     * 打印hello

     */

    public void printHello(){

        System.out.println("hello");

    }

}

 

No2:调度业务

<bean id="musicService_jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

        <property name="targetObject" ref="gameService"/>

        <property name="targetMethod" value="printHello"/>

    </bean>

 

No3: 增加调度触发器

<bean id="cronTrigger" lazy-init="false" class="org.springframework.scheduling.quartz.CronTriggerBean">

        <property name="jobDetail" ref="musicService_jobDetail"/>

        <!--每天15点54分0秒开始,每隔2秒执行一次。-->

        <property name="cronExpression" value="0/2 54/1 15 * * ?"/>

</bean>

 

No3:程执行器配置,用于任务注册

<bean id="executor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">

        <!--核心线程数-->

        <property name="corePoolSize" value="10"/>

        <!--最大线程数-->

        <property name="maxPoolSize" value="100"/>

        <!--队列最大长度-->

        <property name="queueCapacity" value="500"/>

        <!-- 线程池维护线程所允许的空闲时间 -->

        <property name="keepAliveSeconds" value="3600" />

</bean>

 

No4: 设置调度 

<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

        <property name="triggers">

            <list>

                <ref bean="cronTrigger" />

            </list>

        </property>

        <property name="taskExecutor" ref="executor"/>

</bean>

 

No5: 停止作业

CronTriggerBean trigger = (CronTriggerBean) scheduler.getScheduler().getTrigger("cronTrigger", Scheduler.DEFAULT_GROUP);

System.out.println(scheduler.getScheduler().isShutdown());

scheduler.getScheduler().shutdown();

System.out.println(scheduler.getScheduler().isShutdown());

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值