日期:2014-05-20 浏览次数:20835 次
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("开始计时,每隔一分钟提示一次……"); //里面内容就省略了,整个流程重点是配置文件。仅做参考。。 }