Problem
windows 服務每次啓動會立即執行那些服務
Solution
<trigger>
<cron>
<name>ProbationPositiveJobTrigger</name>
<group>HR</group>
<description></description>
<job-name>ProbationPositiveJob</job-name>
<job-group>HR</job-group>
<!-- job首次啓動時間,不寫默認立即啓動-->
<start-time>2013-10-15T17:29:20</start-time>
<misfire-instruction>SmartPolicy</misfire-instruction>
<!-- 每天1分同步一次-->
<cron-expression>0 10 1 * * ?</cron-expression>
<!--<time-zone>GMT+8</time-zone>-->
</cron>
</trigger>
我的服務的任務調度是基於quartz的SimpleTrigger,不是基於日曆的CronTriggers
所以有個start-time,這個時間要在<cron-expression>0 10 1 * * ?</cron-expression>裏的間隔時間之後纔不會立即觸發。所以如果是配置把這個start-time的時間設置爲這個調度執行的時間間隔第一次執行的時間之後,要麼就在代碼裏setCronExpression()以後,立即做trigger.setStartTime(new Date())也能解決。
Cron Expression生成表達式可以看: