spring定时器xml配置文件
2017-07-05 16:43
316 查看
[align=center]spring定时器xml配置文件[/align]
[align=center]
[/align]
[align=left]一、spring定时器所需maven依赖包[/align]
[align=left]二、xml配置方式
[/align]
[align=left](1)第一种方式
[/align]
加载此配置文件就会每隔60s执行一次com.starit.analyse.util.Analyse下面的onAnalyseStart()方法。
[align=left]
(2)第二种方式[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]三、具体的Cron表达式的时间设定可参考,主要针对配置xml方式二[/align]
[align=center]
[/align]
[align=left]一、spring定时器所需maven依赖包[/align]
<!-- spring 定时器需要 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.1.4.RELEASE</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.6</version> </dependency>
[align=left]二、xml配置方式
[/align]
[align=left](1)第一种方式
[/align]
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:task="http://www.springframework.org/schema/task" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--定时执行方法所在的类 --> <bean id="analyseService" class="com.starit.analyse.util.Analyse"/> <bean id="faultSheetJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="analyseService"/> <!-- 定时执行的方法 --> <property name="targetMethod" value="onAnalyseStart"/> <!-- 多个job不会并发运行,第二个job将不会在第一个job完成之前开始 --> <property name="concurrent" value="true"/> <!-- 之前是false --> </bean> <!-- 60秒执行一次 --> <bean id="faultSheetTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> <property name="jobDetail" ref="faultSheetJobDetail"/> <property name="repeatInterval" value="60000"/> </bean> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="faultSheetTrigger" /> </list> </property> <property name="autoStartup" value="true"/> <property name="quartzProperties"> <map> <entry key="org.quartz.threadPool.threadCount" value="3"/> <!-- 以前是1 --> </map> </property> </bean> </beans>
加载此配置文件就会每隔60s执行一次com.starit.analyse.util.Analyse下面的onAnalyseStart()方法。
[align=left]
(2)第二种方式[/align]
[align=left]
[/align]
<!-- ...............................这个配置文件专门配置定时任务........................... --> <bean id="job2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 这个就是定时器的那个类 --> <property name="targetObject"> <bean class="com.starit.analyse.util.Analyse" /> </property> <!-- 这个就是要执行的方法,也就是这前定义的run --> <property name="targetMethod" value="analyseService" /> <!--<property name="concurrent" value="false" /> --> <!-- 作业不并发调度,也就意味着单线程,不写就是true --> </bean> <!-- 这个用来配置定时任务的执行时间 主要就是Cron表达式编写--> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="job2" /> <property name="cronExpression" value="*/1 * * * * ?" /> </bean> <!-- 配置执行定时器的工厂,在list中配置的bean,都会加载到这个工厂中,然后定时运行 --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="cronTrigger" /> </list> </property> </bean>
[align=left]
[/align]
[align=left]三、具体的Cron表达式的时间设定可参考,主要针对配置xml方式二[/align]
"0/10 * * * * ?" 每10秒触发 "0 0 12 * * ?" 每天中午12点触发 "0 15 10 ? * *" 每天上午10:15触发 "0 15 10 * * ?" 每天上午10:15触发 "0 15 10 * * ? *" 每天上午10:15触发 "0 15 10 * * ? 2005" 2005年的每天上午10:15触发 "0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发 "0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发 "0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 "0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发 "0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发 "0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发 "0 15 10 15 * ?" 每月15日上午10:15触发 "0 15 10 L * ?" 每月最后一日的上午10:15触发 "0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发 "0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发 "0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发 每隔5秒执行一次:*/5 * * * * ? 每隔1分钟执行一次:0 */1 * * * ? 每天23点执行一次:0 0 23 * * ? 每天凌晨1点执行一次:0 0 1 * * ? 每月1号凌晨1点执行一次:0 0 1 1 * ? 每月最后一天23点执行一次:0 0 23 L * ? 每周星期天凌晨1点实行一次:0 0 1 ? * L 在26分、29分、33分执行一次:0 26,29,33 * * * ? 每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?
相关文章推荐
- Spring配置定时器的xml文件
- Springmvc+mybatis的定时器配置文件spring-quartz.xml
- Spring的XML配置文件的十二个最佳方法实践
- 在Spring的xml文件中配置数据源主要代码
- spring配置文件applicationContext.xml中的事务总结
- spring 中加载xml配置文件的方法
- spring+hibernate applicationContext.xml配置文件写法
- spring 中加载xml配置文件的方式.
- spring读取properties和xml配置文件的方法
- Spring配置文件applicationContext.xml的两种拆分方式
- spring配置文件application.xml中的事务总结
- spring配置文件application.xml中的事务总结
- web.xml文件中配置(servlet, spring, filter, listenr)的加载顺序 研究
- spring配置文件的一般写法(集成hibernate) (applicationContext.xml)
- Spring的配置文件applicationContext.xml
- SQL文的管理和解析(一)利用Spring的Resource管理SQL的XML配置文件
- SSH整合-关于Spring中applicationContext.xml文件对于事务的一些配置
- Spring配置文件applicationContext.xml之事务管理
- Hibernate SQL方言 (hibernate.dialect) Spring配置文件applicationContext.xml
- Spring的Ioc简单使用实例(含XML配置文件路径知识)