集成短信消息与平台服务, 希望能够在工作台中的每天的值班计划安排表中获取相关数据通知到每个当天值班人员,达到消息的畅通及时性。当中涉及到的技术有spring、quartz等。具体步骤如下:
一、编写业务类:
package com.greedc.czd;
import org.apache.log4j.*
public class TaskJob {
public static Logger log = Logger.getLogger(TaskJob.class);
public void TellMeTheTruth() {
// TODO Auto-generated method stub
try {
log.info("处理任务开始>........");
// 业务逻辑代码调用
System.out.println("时间[" + new java.util.Date().toLocaleString() + "]--->大家好啊!");
log.info("处理任务结束!");
} catch (Exception e) {
log.error("处理任务出现异常", e);
}
}
}
二、配置spring的applicationContext-quartz.xml文件:
2.1 配置任务JobDetailBean
2.2 配置触发器 CronTriggerBean
2.3 配置调度器 SchedulerFactoryBean
<beans>
<bean name="taskJob" class="com.greedc.czd.TaskJob" />
<!-- 配置任务 -->
<bean id="methodInvokingJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="taskJob" />
</property>
<property name="targetMethod">
<value>TellMeTheTruth<alue>
</property>
</bean>
<!-- 配置触发器 -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<!-- 这里不可以直接在属性jobDetail中引用taskJob,因为他要求的是一个jobDetail类型的对象,所以我们得通过MethodInvokingJobDetailFactoryBean来转一下 -->
<property name="jobDetail">
<!-- 指向我们的任务 -->
<ref bean="methodInvokingJobDetail" />
</property>
<!-- 每天的8点到21点每隔1分钟触发,具体说明见附录 -->
<property name="cronExpression">
<value>0 * 08-21 * * ?<alue>