欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

Spring + JDK Timer Scheduler Example--reference

发布时间:2025/4/5 javascript 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Spring + JDK Timer Scheduler Example--reference 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

http://www.mkyong.com/spring/spring-jdk-timer-scheduler-example/

 

In this example, you will use Spring’s Scheduler API to schedule a task.

1. Scheduler Task

Create a scheduler task…

package com.mkyong.common;public class RunMeTask {public void printMe() {System.out.println("Run Me ~");} } <bean id="runMeTask" class="com.mkyong.common.RunMeTask" />

Spring comes with a MethodInvokingTimerTaskFactoryBean as a replacement for the JDK TimerTask. You can define your target scheduler object and method to call here.

<bean id="schedulerTask" class="org.springframework.scheduling.timer.MethodInvokingTimerTaskFactoryBean"><property name="targetObject" ref="runMeTask" /><property name="targetMethod" value="printMe" /> </bean>

Spring comes with a ScheduledTimerTask as a replacement for the JDK Timer. You can pass your scheduler name, delay and period here.

<bean id="timerTask"class="org.springframework.scheduling.timer.ScheduledTimerTask"><property name="timerTask" ref="schedulerTask" /><property name="delay" value="1000" /><property name="period" value="60000" /> </bean>

2. TimerFactoryBean

In last, you can configure a TimerFactoryBean bean to start your scheduler task.

<bean class="org.springframework.scheduling.timer.TimerFactoryBean"><property name="scheduledTimerTasks"><list><ref local="timerTask" /></list></property> </bean>

File : Spring-Scheduler.xml

<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.5.xsd"><bean id="schedulerTask" class="org.springframework.scheduling.timer.MethodInvokingTimerTaskFactoryBean"><property name="targetObject" ref="runMeTask" /><property name="targetMethod" value="printMe" /> </bean><bean id="runMeTask" class="com.mkyong.common.RunMeTask" /><bean id="timerTask"class="org.springframework.scheduling.timer.ScheduledTimerTask"><property name="timerTask" ref="schedulerTask" /><property name="delay" value="1000" /><property name="period" value="60000" /> </bean><bean class="org.springframework.scheduling.timer.TimerFactoryBean"><property name="scheduledTimerTasks"><list><ref local="timerTask" /></list></property> </bean></beans>

Run it

package com.mkyong.common;import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class App {public static void main( String[] args ){ApplicationContext context = new ClassPathXmlApplicationContext("Spring-Scheduler.xml");} }

No code need to call the scheduler task, the TimerFactoryBean will run your schedule task during start up. As result, Spring scheduler will run the printMe() method every 60 seconds, with a 1 second delay for the first time of execution.

转载于:https://www.cnblogs.com/davidwang456/p/4250403.html

总结

以上是生活随笔为你收集整理的Spring + JDK Timer Scheduler Example--reference的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。