连接:http://www.blogjava.net/laoding/articles/227041.html
首先是spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!--你要执行的那个类的bean定义-->
<bean id="searchEngerneService" class="com.strongit.service.impl.SearchEngerneServiceImpl"></bean>
<!--定义定时执行searchEngerneService 这个bean中的timeTask()方法-->
<bean id="searchEngerneTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!--你要执行的那个方法对应的bean-->
<property name="targetObject">
<ref bean="searchEngerneService" />
</property>
<!--你要执行那个方法,注意方法不能有返回值,参数好像也不能有-->
<property name="targetMethod">
<value>timeTask</value>
</property>
</bean>
<!--触发器的bean的设置,在这里我们设置了我们要触发的jobDetail是哪个。这里我们定义了要触发的jobDetail是searchEngerneTask,即触发器去触发哪个bean..并且我们还定义了触发的时间-->
<bean id="cronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="searchEngerneTask" />
</property>
<property name="cronExpression">
<!-- 关键在配置此表达式,时间设置这里表示每天晚上23点执行,最后也写出了一些,具体可以自己去找资料看 -->
<value>0 0 23 * * ?</value>
</property>
</bean>
<!--管理触发器的总设置,管理我们的触发器列表,可以在bean的list中放置多个触发器。
-->
<bean autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
</bean>
</beans>
执行的那个类和方法我就不写了,自己随便写个简单的测试就可以了
下面是执行主方法
public class TestTimer {
/**
* @Description 方法实现功能描述
* @param args
* void
* @throws 抛出异常说明
*/
public static void main(String[] args) {
//这里的spring配置文件的路径自己修改
ApplicationContext context = new FileSystemXmlApplicationContext("/WebRoot/WEB-INF/application*.xml");
System.out.println("*****完毕******");
}
}
这个方法的作用就是将spring跑起来
OK啦
就是这么简单
欢迎讨论!!
以下是网上摘抄的一些说明:
字段允许值允许的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选)留空, 1970-2099 , - * /
表达式意义
"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触发
分享到:
相关推荐
spring注解Quartz定时执行功能
使用Spring Quartz执行定时任务
spring整合quartz定时任务调度..........
NULL 博文链接:https://medbricom.iteye.com/blog/1782765
spring3 配置quartz定时任务的使用。一个小例子。可直接运行Test.java。就可以启动定时任务。每10秒钟执行一次,可以根据自己配置。
Spring Quartz 动态暂停、恢复、修改定时任务的一个demo,使用maven构建,框架采用spring springmvc jpa,数据库mysql,含数据库脚本,运行可用,页面访问地址http://localhost:8080/quartz_demo/quartz/list
spring+springMVC+mybatis+quartz动态定时任务
NULL 博文链接:https://thinktothings.iteye.com/blog/804738
spring定时器代码。解决多次执行问题。包含quartz-all.jar包。 说明很详细。希望能帮上哪位朋友。
Quartz--JAVA定时任务\Java应用:Java调度任务和Spring Quartz (1)
在实际项目应用中经常会用到定时任务,可以通过quartz和spring的简单配置即可完成,但如果要改变任务的执行时间、频率,废弃任务等就需要改变配置甚至代码需要重启服务器,这里介绍一下如何通过quartz与spring的组合...
2)通过前台动态分配定时任务 可指定多个任务,可同时执行任务,可以精确到时分秒扫描并执行任务 3)可以完成稍微复杂点的任务 比如:2001-10-1 10:10:10 执行任务 执行多少次 好久执行一次 到2001-10-10 10:10:10 ...
spring几种定时执行任务方法 TimeTask Quartz
spring多个定时任务quartz配置
Springboot整合Quartz实现定时任务数据库动态配置,新增任务、修改cron表达式、暂停任务、恢复任务、删除任务等操作
Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查,部署到tomcat即可看到定时任务执行效果。本人亲测,可用!
spring动态调度任务,根据用户选择时间进行定时执行任务相关文档配置
各种企业应用几乎都会碰到任务调度的需求,就拿论坛来说:每隔半个小时生成精华文章的RSS文件,每天凌晨统计论坛用户的积分排名,每隔30分钟执行锁定 用户解锁任务。对于一个典型的MIS系统来说,在每月1号凌晨统计上...
现有需求需要每天早上2点和下午5点执行一个方法Synchronization.run(): <!-- 调用频率设置 每天上午2点和下午5点 cron表达式 --> <bean id="runTime" class="org.springframework.scheduling.quartz....
Spring中的定时任务介绍 下面我们来看一下Spring中提供的定时任务开发: 在Spring中开发定时任务,分为3个步骤。 1 创建定时任务 2 注册定时任务 3 启动定时任务