如何在spring中运行多个schedulers quartz 实例
发布网友
发布时间:2022-05-16 22:26
我来回答
共1个回答
热心网友
时间:2023-09-13 21:06
<!-- 使用pojo来做job,指定pojo和method --
<bean id="jobDetail" class="org.springframework.scheling.quartz.MethodInvokingJobDetailFactoryBean"
<property name="targetObject" ref="pojoObject"/
<property name="targetMethod" value="execute"/</bean2、定义一个触发时间
<bean id="cronTrigger" class="org.springframework.scheling.quartz.CronTriggerBean"
<property name="jobDetail" ref="jobDetail"/
<!--朝九晚五工作时间内每半小时执行一次--
<property name="cronExpression" value="0 0/30 9-17 *,* * ?"/</bean3、定义管理器
<bean name="quartzScheler"
class="org.springframework.scheling.quartz.SchelerFactoryBean"
<property name="triggers"<list<ref bean="cronTrigger"/</list</property</bean一般的应用,只要配置上面这些东东就可以了。
看一下SchelerFactoryBean的代码,里面一个参数叫做:schelerName,SchelerFactoryBean通过 StdSchelerFactory返回一个具体的Scheler的。而且每个Scheler是注册在 SchelerRepository中的。
SchelerRepository中的每个Scheler都是放在一个MAP中的,根据名字作为KEY。
private HashMap schelers;
这样就比较好办了。
<bean name="quartzScheler"
class="org.springframework.scheling.quartz.SchelerFactoryBean"
<property name="schelerName"<valuefirst</value</property</bean可以声明多个。并设上不同名字,这样scheler就分有多个实例,可以分别启动、停止了。