`

Spring定时器的简单使用

阅读更多
花了有一段时间“研究”spring的定时器了。由于网上的大多数方法并不是我想找到的(spring定时器有多种实现方法),所以一直没有摸索出来,今天终于搞定了(其实巨简单):
例子用的是springMVC的框架(其实根本用不着)。搭好基本的spring架子后,添加一个你想定时运行的java类:
package com.july;

public class SpringDSQ {
	public void run() {
		System.out.println("SpringDSQ.java is Runnig!");	
	}
}

然后在一个xml中配置好spring定时器的配置:
	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
	    <property name="triggers">
	        <list>
	            <ref bean="correctionCronTrigger-overTimer" />
	        </list>
	    </property>
	</bean>
	<bean id="correctionCronTrigger-overTimer" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="correctionJobDetailFactory-overTimer"/>
		</property>
		<property name="cronExpression">
			<value>*/1 * * * * ?</value>
		</property>		
	</bean>
	<bean id="correctionJobDetailFactory-overTimer" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject">
			<ref bean="springDSQ"/>
		</property>
		<property name="targetMethod">
			<value>run</value>
		</property>		
	</bean>
	<bean id="springDSQ" class="com.july.SpringDSQ"/>

xml文件要在服务器启动的时候加载。这样,当服务器运行起来后,就会每隔一秒钟打印出:SpringDSQ.java is Runnig!
附件中关于spring定时器的代码只出现在com.july.SpringDSQ.java和july-servlet.xml文件中。其它是spring架子和另外的例子,与本例无关。
说明:此例子在MyEclipse 8.5M1做,其中用的包有(不一定有用,但是多了不影响程序):Java EE 5 Liberaries;Spring 2.5 Core Libraries;Spring 2.5 Web Libraries;Spring AOP Libraries;Spring 2.5 Persistence Core Libraries;Spring 2.5 J2EE Libraries;
另外jar包有:spring.jar;spring-webmvc-portlet.jar;spring-webmvc-struts.jar;spring-webmvc.jar;
和spring定时器直接相关的包有:quartz-all-1.6.1.jar;commons-collection.jar.
仅供参考
分享到:
评论
2 楼 aslijiasheng 2014-02-26  
值得学习,对我有帮助
1 楼 hlt 2013-05-21  

相关推荐

Global site tag (gtag.js) - Google Analytics