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">

posted on 2016-05-26 15:15  sui008  阅读(242)  评论(0编辑  收藏  举报

导航