java

位置:IT落伍者 >> java >> 浏览文章

Spring定时器的使用


发布日期:2023年05月21日
 
Spring定时器的使用

下面我们来看看关于Spring定时器的使用的详细html代码:

[html]

<?xml version= encoding=UTF?>

<!DOCTYPE beans PUBLIC //SPRING//DTD BEAN//EN springbeansdtd >

<beans>

<!

<bean id=reportManagerImpl

class=orgspringframeworkschedulingquartzJobDetailBean> <property

name=jobClass ref=reportManager /> </bean>

>

<span ><bean id=reportManagerImpl_month

class=orgspringframeworkschedulingquartzMethodInvokingJobDetailFactoryBean>

<property name=targetObject ref=reportManager />

<property name=targetMethod value=addMonthReport />

</bean></span>

<bean id=reportManagerImpl_week

class=orgspringframeworkschedulingquartzMethodInvokingJobDetailFactoryBean>

<property name=targetObject ref=reportManager />

<property name=targetMethod value=addWeekReport />

</bean>

<bean id=reportManagerImpl_xun

class=orgspringframeworkschedulingquartzMethodInvokingJobDetailFactoryBean>

<property name=targetObject ref=reportManager />

<property name=targetMethod value=addXunReport />

</bean>

<! 旬报生成提醒 >

<bean id=checkXunAndMail

class=orgspringframeworkschedulingquartzMethodInvokingJobDetailFactoryBean>

<property name=targetObject ref=reportManager />

<property name=targetMethod value=checkXunAndMail />

</bean>

<span ><bean id=monthReportTrigger class=orgspringframeworkschedulingquartzCronTriggerBean>

<property name=jobDetail ref=reportManagerImpl_month />

<! 关键在配置此表达式 >

<property name=cronExpression>

<value> C * ?</value> <!每月的第一天的:触发 C * ? >

</property>

</bean></span>

<bean id=weekReportTrigger class=orgspringframeworkschedulingquartzCronTriggerBean>

<property name=jobDetail ref=reportManagerImpl_week />

<! 关键在配置此表达式 >

<property name=cronExpression> <!每周一的:触发 ? * MON >

<value> ? * MON</value>

</property>

</bean>

<bean id=xunReportTrigger class=orgspringframeworkschedulingquartzCronTriggerBean>

<property name=jobDetail ref=reportManagerImpl_xun />

<! 关键在配置此表达式 >

<property name=cronExpression> <!每两个周周末的:触发 ? * MON/>

<value> ? * MON/</value>

</property>

</bean>

<! 旬报生成提醒 >

<bean id=xunReportMailTrigger class=orgspringframeworkschedulingquartzCronTriggerBean>

<property name=jobDetail ref=checkXunAndMail />

<! 关键在配置此表达式 >

<property name=cronExpression> <!每周一的:触发 ? * MON>

<value> ? * MON</value>

</property>

</bean>

<span ><bean id=scheduler

class=orgspringframeworkschedulingquartzSchedulerFactoryBean>

<property name=triggers>

<list>

<ref bean=monthReportTrigger />

<ref bean=weekReportTrigger />

<! <ref bean=xunReportTrigger /> >

<ref bean=xunReportMailTrigger />

</list>

</property>

</bean></span>

</beans>

以红色代码为例说明Spring自带一个定时器通过某种格式设置日期然后执行对应类的对应方法

从下到上来看scheduler用来执行所有的触发器也就是说把配置好的触发器拿来执行至于每个触发器是什么样的属性?往上看第二段红色代码这里配置了一个触发器触发中有触发时间的配置和触发对象的配置触发时间的配置这里不说了大家查资料可以找到的触发对象的配置为reportManagerImpl_month至于这个对象对应了什么属性再往上看第一段红色代码<property name=targetObject ref=reportManager /><property name=targetMethod value=addMonthReport />这里targetObject指的是触发对象所在的类reportManager当然了这个类已经在spring中注册了这里直接把bean的id拿过来用就可以了targetMethod指的是触发的方法当触发条件符合时就会自动执行addMonthReport方法

这里需要注意的事情

三层或者说是四层结构一定要分开来写不止要符合语法结构也使思路更加的清晰

时间的填写要多测试多查资料不能想当然尔

targetObject要在spring中注册以上这个文件一定要在配置文件中导入这是常识

               

上一篇:如何加入到eclipse workspace方式

下一篇:Eclipse插件安装及使用技巧