日期:2014-05-20 浏览次数:21047 次
package com.common;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyListener implements ServletContextListener {
private Timer timer = null;
public void contextInitialized(ServletContextEvent event) {
timer = new Timer(true);
//设置任务计划,启动和间隔时间
//86400000为1天毫秒数
timer.schedule(new MyTask(), 0, 5000);
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
}
}
package com.common;
import java.util.Date;
import java.util.TimerTask;
import com.user.dao.MaxLshDao;
import com.user.service.MaxLshService;
public class MyTask extends TimerTask {
private MaxLshService maxLshService;
public MaxLshService getMaxLshService() {
return maxLshService;
}
public void setMaxLshService(MaxLshService maxLshService) {
this.maxLshService = maxLshService;
}
public void run() {
System.out.println("call at " + (new Date()));
/*ShopInUserDao SIUService=new ShopInUserDao();
SIUService.findEndRentDate();*/
}
}
//spring配置文件里的内容
<!--任务到期短信提示-->
<bean id="testService" class="com.fbty.wms.utils.TestService">
<property name="messageService" ref="messageService" />
<property name="wmsJdbcDao" ref="wmsJdbcDao" />
</bean>
<!--注入-->
<bean id="testJob"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="testService" />
<property name="targetMethod" value="doCheck"></property>
</bean>
<!-- 触发器 -->
<bean id="testThread"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="testJob" />
<property name="cronExpression" value="0 0 0 * * ? " />
</bean>
<!-- 定时器工厂 -->
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="testThread"></ref>
</list>
</property>
</bean>
//这个就是TestService里的doCheck方法
/**
* Description: 到期警示告警短信自动扫描<br>
* @throws ServiceException
* @throws RemoteException
* @throws MalformedURLException
*/
public void doCheck() throws MalformedURLException, RemoteException, ServiceException {
System.out.println("开始计时,每隔一分钟提示一次……");
//里面内容就省略了,整个流程重点是配置文件。仅做参考。。
}