您的位置:首页 > 编程语言 > Java开发

关于Java Web 使用Spring中使用Quartz(定时调用、实现固定时间执行), 触发定时器(执行某些任务)的实例

2017-08-17 15:35 1506 查看

第一步:pom.xml中Maven下载需要的jar架包。

<!--```````````定时器```````````-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>

<!--quartz所需jar-->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.8.5</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.6.12</version>
</dependency>


第二步:applicatio
4000
nContext.xml配置触发器。

<!--首先是配置要定时加载的目标类-->
<bean id="MainAction" class="com.jandar.frame.system.web.MainAction"/>

<!-- 配置定时器配置 -->
<bean id="SpringQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="MainAction" />
<property name="targetMethod" value="myTimer" />
<property name="concurrent" value="false"/>
</bean>

<!--配置定时器时间间隔触发器,“0/5 * * * * ?” 设置的是每 五秒 触发一次-->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="SpringQtzJobMethod" />
<property name="cronExpression" value="0/5 * * * * ?" />
</bean>

<!-- 配置启动定时器 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
</bean>


第二步:实现的调用方法。

/**
* 基于注解的定时器
* Create by 2017/08/17
*
* @author Jmlc
*/
public void myTimer(){
System.out.println("动态时间:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));//替换成想要执行任务
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息