applicationContext-quartz.xml 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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="rfqCloseJobTrigger" />
  13. <ref bean="dBBackupJobTrigger" />
  14. <ref bean="restartServerTrigger" />
  15. </list>
  16. </property>
  17. <!-- Quartz配置 -->
  18. <property name="quartzProperties">
  19. <props>
  20. <prop key="org.quartz.threadPool.threadCount">5</prop>
  21. </props>
  22. </property>
  23. <!-- 启动时延期3秒开始任务 -->
  24. <property name="startupDelay" value="3" />
  25. </bean>
  26. <!-- 每天零点自动检查到期RFQ记录并关闭 -->
  27. <bean id="rfqCloseJob" class="com.pentair.showcase.schedule.RfqCloseJob" />
  28. <bean id="rfqCloseJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  29. <property name="targetObject" ref="rfqCloseJob" />
  30. <property name="targetMethod" value="execute" />
  31. <!-- 同一任务在前一次执行未完成而Trigger时间又到时是否并发开始新的执行, 默认为true. -->
  32. <property name="concurrent" value="true" />
  33. </bean>
  34. <bean id="rfqCloseJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  35. <property name="jobDetail" ref="rfqCloseJobDetail" />
  36. <!-- 执行一次 -->
  37. <property name="cronExpression" value="0 0 0 * * ?" />
  38. </bean>
  39. <!-- 每天零点三十分自动备份MySQL数据库 -->
  40. <bean id="dBBackupJob" class="com.pentair.showcase.schedule.DBBackupJob">
  41. <property name="username" value="${jdbc.username}" />
  42. <property name="password" value="${jdbc.password}" />
  43. <property name="database" value="${jdbc.database}" />
  44. <property name="savePath" value="${backup.db_path}" />
  45. <property name="execPath" value="${backup.exec_path}" />
  46. </bean>
  47. <bean id="dBBackupJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  48. <property name="targetObject" ref="dBBackupJob" />
  49. <property name="targetMethod" value="execute" />
  50. <!-- 同一任务在前一次执行未完成而Trigger时间又到时是否并发开始新的执行, 默认为true. -->
  51. <property name="concurrent" value="true" />
  52. </bean>
  53. <bean id="dBBackupJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  54. <property name="jobDetail" ref="dBBackupJobDetail" />
  55. <!-- 每天零点执行一次 -->
  56. <property name="cronExpression" value="0 30 0 * * ?" />
  57. </bean>
  58. <!-- 每天凌成1点自动重启一下server -->
  59. <bean id="restartServerJob" class="com.pentair.utils.ServerRestart">
  60. <property name="restartCommandPath" value="D:/RFQServer/rfq/restart.bat" />
  61. </bean>
  62. <bean id="restartServerDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  63. <property name="targetObject" ref="restartServerJob" />
  64. <property name="targetMethod" value="restart" />
  65. <!-- 同一任务在前一次执行未完成而Trigger时间又到时是否并发开始新的执行, 默认为true. -->
  66. <property name="concurrent" value="false" />
  67. </bean>
  68. <bean id="restartServerTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  69. <property name="jobDetail" ref="restartServerDetail" />
  70. <!-- 每天零点执行一次 -->
  71. <property name="cronExpression" value="0 0 1 * * ?" />
  72. </bean>
  73. </beans>