• spring3 上配置quartz 任务调度


    maven配置:

    <dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.2.1</version>
    </dependency>

    spring配置:

    <!-- 定义目标bean和bean中的方法 -->
    <!-- =====================日常任务job========================== -->
    <bean id="DailyTaskQtzJob" class="com.ctcti.m1000.controller.AsteriskRunnable "> </bean> //你要调用的类
    <bean id="DailyTaskQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject">
    <ref bean="DailyTaskQtzJob"/>
    </property>
    <property name="targetMethod">
    <!-- 要执行的方法名称 -->
    <value>execute</value> //类里面调用的方法名称
    </property>
    </bean>
    <!-- ======================== 调度触发器 ======================== -->
    <bean id="DailyTaskCronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="DailyTaskQtzJobMethod"></property>
    <property name="cronExpression" value="0 55 9 ? * *"></property>
    </bean>
    <!-- ======================== 调度工厂 ======================== -->
    <bean id="SpringJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
    <list>
    <ref bean="DailyTaskCronTriggerBean"/>
    </list>
    </property>
    </bean>

    java类:

    public class AsteriskRunnable {
    Logger logger = Logger.getLogger(AsteriskRunnable.class);

    @Autowired
    private CustomService CustomService;

    public void execute() {
    // TODO Auto-generated method stub
    List<CustomRepository> custrtylist=CustomService.list(" ISNULL(checkfalg)!='' limit 1,2");
    if(custrtylist!=null && custrtylist.size()>0){
    for(int i=0;i<custrtylist.size();i++){
    CustomRepository cty=custrtylist.get(i);
    System.out.println("要拨打的号码"+i+"=="+cty.getPhone());
    }
    }   

    }
    }

    可能会出现的异常:

    1.

    解决方法:

    maven配置加入:

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>4.1.6.RELEASE</version>
    </dependency>

    将:

    <bean id="DailyTaskCronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean"> 

    改为:

    <bean id="DailyTaskCronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> 

    Table ‘database.qrtz_locks’ doesn’t exist

    加上这个

     <bean id="SpringJobSchedulerFactoryBean"  lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

  • 相关阅读:
    2016年5月27日上午(妙味课堂js基础-3笔记一(事件))
    2016年5月26日晚上(妙味课堂js基础-2笔记四(BOM))
    2016年5月26日晚上(妙味课堂js基础-2笔记三(DOM))
    2016年5月26日晚上(妙味课堂js基础-2笔记二(DOM))
    2016年5月26日下午(妙味课堂js基础-2笔记一(DOM))
    2016年5月26日下午(妙味课堂js基础-1笔记四)
    2016年5月26日下午(妙味课堂js基础-1笔记三)
    2016年5月26日上午(妙味课堂js基础-1笔记二)
    【Django】不知道为什么就是想学一下 01
    【Ubuntu】安装Java和Eclipse
  • 原文地址:https://www.cnblogs.com/cbdd/p/5531254.html
Copyright © 2020-2023  润新知