applicationContext-quartz-cron-local.xml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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的本地Cron式执行任务配置</description>
  7. <!-- Quartz本地Schduler -->
  8. <bean id="localQuartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
  9. <!-- Triggers集成 -->
  10. <property name="triggers">
  11. <list>
  12. <ref bean="cronTrigger" />
  13. </list>
  14. </property>
  15. <!-- Quartz配置 -->
  16. <property name="quartzProperties">
  17. <props>
  18. <prop key="org.quartz.threadPool.threadCount">5</prop>
  19. </props>
  20. </property>
  21. <!-- 启动时延期3秒开始任务 -->
  22. <property name="startupDelay" value="3" />
  23. </bean>
  24. <!-- Cron式Trigger定义 -->
  25. <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  26. <property name="jobDetail" ref="cronJobDetail" />
  27. <!-- 周一至五,朝九晚五工作时间内每半小时执行一次 -->
  28. <property name="cronExpression" value="0 0/30 9-17 ? * MON-FRI" />
  29. </bean>
  30. <!-- Cron JobDetajil, 基于MethodInvokingJobDetailFactoryBean调用普通Spring Bean -->
  31. <bean id="cronJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  32. <property name="targetObject" ref="cronJob" />
  33. <property name="targetMethod" value="execute" />
  34. <!-- 同一任务在前一次执行未完成而Trigger时间又到时是否并发开始新的执行, 默认为true. -->
  35. <property name="concurrent" value="true" />
  36. </bean>
  37. <!-- 被Cron执行的普通Spring Bean -->
  38. <bean id="cronJob" class="com.pentair.showcase.schedule.QuartzJob" />
  39. </beans>