java定时任务
java的定时任务其实很简单,只需要在xml配置文件将所需的配置好,调用方法即可!
pom.xml中配置相关jar包
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
spring的xml中配置quartz
<!-- 要调用的工作类 -->
<bean id="expireJobService" class="com.rionsoft.vbank.web.webadmin.mc.quartz.ExpireJobTask"/>
<!-- 定义调用对象和调用对象的方法 -->
<bean id="expireJobServiceJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject" ref="expireJobService"></property>
<!-- 调用类中的方法 -->
<property name="targetMethod" value="updateWxMember"></property>
</bean>
<!-- 定义时间间隔触发器 每天执行两次-->
<bean id="expireJobServiceTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="expireJobServiceJob" />
</property>
<property name="cronExpression">
<value>0 0 0,12 * * ?</value>
</property>
</bean>
<!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<bean id="schedulerFactoryBean" lazy-init="true" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="applicationContextSchedulerContextKey" value="applicationContext" />
<property name="triggers">
<list>
<ref bean="expireJobServiceTrigger" />
</list>
</property>
</bean>
另附时间规则:
注: 秒 分 时 日 月 星期(7为周六) 年(可选) ‘*’ 表示"每一分钟"的含义,‘?’ 可以用在“日”和“周几”字段,
"0 0 12 * * ?" 每天中午12点(中午)
"0 15 10 ? * *" 每天上午十点十五分
"0 15 10 * * ?" 每天上午十点十五分
"0 15 10 * * ? *" 每天上午十点十五分
"0 15 10 * * ? 2005" 2005年每天上午十点十五分
"0 * 14 * * ?" 每天下午2点开始,每天下午2点59分结束
"0 0/5 14 * * ?" 每天下午2点开始,每天下午2点55分结束,每5分钟开始一次
"0 0/5 14,18 * * ?" 从下午2点开始到下午2点55分,每5分钟开始一次,每6分钟从6点开始到6点55分结束,每天
"0 0-5 14 * * ?" 每天下午2点开始,每天下午2点05分结束
"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年,2003年,2004年和2005年每个月的最后一个星期五上午10点15分开始
"0 15 10 ? * 6#3" 每个月的第三个星期五上午10点15分开始

浙公网安备 33010602011771号