applicationContext-quartz-timer-cluster.xml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns:util="http://www.springframework.org/schema/util"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"
  5. default-lazy-init="true">
  6. <description>Quartz的定时集群任务配置</description>
  7. <!-- Quartz集群Schduler -->
  8. <bean id="clusterQuartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  9. <!-- Triggers集成 -->
  10. <property name="triggers">
  11. <list>
  12. <ref bean="timerTrigger" />
  13. </list>
  14. </property>
  15. <!-- quartz配置文件路径-->
  16. <property name="configLocation" value="classpath:quartz-cluster.properties" />
  17. <!-- 启动时延期2秒开始任务 -->
  18. <property name="startupDelay" value="2" />
  19. <!-- 保存Job数据到数据库所需的数据源 -->
  20. <property name="dataSource" ref="quartzDataSource" />
  21. <!-- Job接受applicationContext的成员变量名 -->
  22. <property name="applicationContextSchedulerContextKey" value="applicationContext" />
  23. </bean>
  24. <!-- Timer式 Trigger定义-->
  25. <bean id="timerTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
  26. <property name="jobDetail" ref="timerJobDetail" />
  27. <!-- 每次执行间隔5分钟 -->
  28. <property name="repeatInterval" value="300000" />
  29. </bean>
  30. <!-- Timer JobDetail, 基于JobDetailBean实例化Job Class,可持久化到数据库实现集群 -->
  31. <bean name="timerJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
  32. <property name="jobClass" value="com.pentair.showcase.schedule.QuartzClusterableJob" />
  33. <!-- fail-over节点重新执行之前所有失败或未执行的任务, 默认为false. -->
  34. <property name="requestsRecovery" value="true" />
  35. </bean>
  36. <!-- Timer Job的可配置属性 -->
  37. <util:map id="timerJobConfig">
  38. <entry key="nodeName" value="${server.node_name}" />
  39. </util:map>
  40. </beans>