天易17----spring定时器配置与实现(很好用)
2012-11-12 15:53
357 查看
说明:所需jar包:
(注:单单是在后台执行需要的jar包,若是经过tomcat执行,需额外添加一个jar包——jta-1.1.jar)
不同版本需要依赖的jar:
quartz-all-1.6.0.jar版本需要的jar包:
commons-collections-3.2.jar
commons-logging-1.1.1.jar
log4j-1.2.16.jar
spring.jar
quartz-1.8.4.jar版本需要的jar包:
commons-collections-3.2.jar
commons-logging-1.1.1.jar
log4j-1.2.16.jar
quartz-1.8.4.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
spring.jar
一:在applicationContext.xml配置文件中的配置:
二:在web.xml中的配置
三:TimerService定时器类
三:最终得出的结果:
(注:单单是在后台执行需要的jar包,若是经过tomcat执行,需额外添加一个jar包——jta-1.1.jar)
不同版本需要依赖的jar:
quartz-all-1.6.0.jar版本需要的jar包:
commons-collections-3.2.jar
commons-logging-1.1.1.jar
log4j-1.2.16.jar
spring.jar
quartz-1.8.4.jar版本需要的jar包:
commons-collections-3.2.jar
commons-logging-1.1.1.jar
log4j-1.2.16.jar
quartz-1.8.4.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
spring.jar
一:在applicationContext.xml配置文件中的配置:
<!-- 。。。。。。。。。。。。。。。。。。。。。。。。。以下spring定时器 。。。。。。。。。。。。。。。。。。。。。。。。。 --> <!--统计用户当天登陆退出Task,在TimerService中的dao层和service都在这里注入--> <bean id="timerService" class="com.test.ydzf.service.TimerService"> <property name="trffService" ref="trffService"></property> <property name="timeDao" ref="timeDao"></property> </bean> <bean id="updateYyjgDataTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 调用的类 --> <property name="targetObject" ref="timerService"/> <!-- 调用类中的方法 --> <property name="targetMethod" value="runTime"/> <!-- false,证明不执行并发任务 --> <property name="concurrent" value="false"/> </bean> <!-- 3、配置触发器,定义触发时间,可以根据不同的时间对同一个任务定义多个触发器--> <!-- cron表达式 --> <bean id="updateYyjgDataTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="updateYyjgDataTask"/> <property name="cronExpression" value="0 0/5 15 * * ?"/><!--设置时间:这里代表从下午3点开始每5分钟执行一次定时器执行到3:55分结束--> </bean> <!-- 配置调度器 ,容器启动就会执行调度程序 --> <!-- 总管理类,如果lazy-init='false',则容器启动时就会执行调度程序--> <!-- 如果lazy-init='true',则需要实例化该bean才能执行调度程序 --> <bean id="schdulerFactory" lazy-init="false" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="updateYyjgDataTrigger"/> <!----> <!-- <ref bean="yjxxFdxTrigger"/>--> </list> </property> </bean>
二:在web.xml中的配置
<!-- 配置Spring监听器 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
三:TimerService定时器类
package com.test.ydzf.service; import java.util.List; import org.cjzframework.beans.support.IDomain; import com.test.ydzf.beans.TimeTranceQueue; import com.test.ydzf.dao.support.ITimeDao; import com.test.ydzf.service.support.IWebService; /** * 定时 * @author 2012-10-10 * */ public class TimerService { private IWebService trffService;//综合平台调用接口 private ITimeDao timeDao; private TimeTranceQueue timeTranceQueue=new TimeTranceQueue(); /** * 上传数据 晚上11:30执行 */ public synchronized void runTime() { try { List<IDomain> list=this.timeDao.queryForList(timeTranceQueue); System.out.println("定时器开始 Start:>>>>>>>>>>>>>>>>>>>>>>>>>:"+ list.size()); for(IDomain idomain:list){ TimeTranceQueue timequeue=(TimeTranceQueue)idomain; if(timequeue.getJklx().equals("0")){ System.out.println("---------------->>>>写入接口"); System.out.println("xtlb写入=========>>>"+timequeue.getXtlb()+" "+timequeue.getJkid()+" "+timequeue.getJklx()); trffService.writeObjectOut(timequeue.getXtlb(), timequeue.getJkxh(), timequeue.getJkid(), timequeue.getXmldac()); } if(timequeue.getJklx().equals("1")){ System.out.println("---------------->>>>查询接口"); System.out.println("xtlb查询=========>>>"+timequeue.getXtlb()+" "+timequeue.getJkid()+" "+timequeue.getJklx()); trffService.queryObjectOut(timequeue.getXtlb(), timequeue.getJkxh(), timequeue.getJkid(), timequeue.getXmldac()); } } }catch (Exception e) { e.printStackTrace(); } } public IWebService getTrffService() { return trffService; } public void setTrffService(IWebService trffService) { this.trffService = trffService; } public ITimeDao getTimeDao() { return timeDao; } public void setTimeDao(ITimeDao timeDao) { this.timeDao = timeDao; } }
三:最终得出的结果:
相关文章推荐
- 定时器的实现、java定时器介绍与Spring中定时器的配置
- 定时器的实现、java定时器介绍与Spring中定时器的配置
- Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解
- 定时器的实现、java定时器Timer和Quartz介绍与Spring中定时器的配置
- 定时器的实现、java定时器介绍与Spring中定时器的配置
- Spring @Scheduled 注解实现定时器调度配置
- spring boot中实现配置和使用定时器
- 定时器的实现、java定时器Timer和Quartz介绍与Spring中定时器的配置
- Spring定时器技术终结者——采用XML配置的方式实现Spring定时器
- java 定时器,固定某个时间执行(Spring+Quartz实现定时任务的配置方法)
- 定时器的实现、java定时器Timer和Quartz介绍与Spring中定时器的配置
- 【知识积累】定时器的实现、java定时器Timer和Quartz介绍与Spring中定时器的配置
- 定时器的实现、java定时器介绍与Spring中定时器的配置
- 定时器的实现、java定时器Timer和Quartz介绍与Spring中定时器的配置
- 定时器的实现、java定时器Timer和Quartz介绍与Spring中定时器的配置
- spring--简单实现定时器(配置+注解)
- Spring之Java配置实现
- Spring定时器配置详解
- Spring AOP之配置文件实现方式
- 基于纯Java代码的Spring容器和Web容器零配置的思考和实现(3) - 使用配置