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">
3
Table ‘database.qrtz_locks’ doesn’t exist
加上这个
<bean id="SpringJobSchedulerFactoryBean" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">