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

使用Spring 实现 定时服务 的相关配置问题。

2009-09-24 15:13 639 查看
在网上找了一些有关 spring 定时执行相关任务的 资料,发现写的都是很详细,但是却缺少了需要引入的Jar包。



这样就导致了,如果项目中的jar包不全时,配置文件会报错,这样对一些新手来说(比如像我)就会又是不小的麻烦。



定时服务的相关配置如下:



在spring 配置文件中加入下面的代码即可。



<!-- 定制服务开始 -->
	<bean id="methodInvokingJobDetail"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject">
	        <!-- 要关联的 自己的service -->
        	<ref bean="cardInfoManager"/>
        </property>
        <property name="targetMethod">
	        <!-- 关联的service中的方法 outPutLocalTime 既是我们 要执行的方法 名称 -->
        	<value>outPutLocalTime</value>
        </property>
    </bean>
	
	<!-- 定义触发的时间 --> 
    <bean id="cronT" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail">
            <ref bean="methodInvokingJobDetail"/>
        </property>
        <!-- 下面的 value 值 就是 设定的 触发的时间 -->
        <property name="cronExpression">
            <value>0/10 0 0 * * ?</value>
        </property>
    </bean>
	
	<!-- 总管理 --> 
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list><ref local="cronT"/></list>
        </property>
    </bean>
    <!-- 定制服务结束 -->




注意 这时系统中需要 把 quartz-all-1.6.1.jar jar 包引入 否则 spring配置文件就会出:



“no setter found for property 'cronExpression' in class ......” 的错。



同时也要把“commons-collections-3.2.jar” 放入进去 低版本或者不放就有可能出现如下错误:





java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set;




只要将上面的jar放到工程的lib下面即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐