我正在尝试设置一个作业,以便它在我的调度程序第一次启动时运行一次,然后每天午夜运行一次。下面是我的作业和触发器的XML。一天一次的触发器工作,但一次性触发器不起作用。
<job>
<name>MyJob</name>
<group>MyJobGroup</group>
<job-type>MyScheduledJob, MyJobAssembly</job-type>
<description>My job, yo</description>
<durable>true</durable>
<recover>false</recover>
</job>
<trigger>
<cron>
<name>MyTrigger</name>
<group>MyTriggerGroup</group>
<job-name>MyJob</job-name>
<job-group>MyJobGroup</job-group>
<cron-expression>0 0 0 1/1 * ? *</cron-expression>
</cron>
<simple>
<name>MyOneTimeTrigger</name>
<group>MyTriggerGroup</group>
<description>Run once at startup, G</description>
<misfire-instruction>SmartPolicy</misfire-instruction>
<volatile>false</volatile>
<job-name>MyJob</job-name>
<job-group>MyJobGroup</job-group>
<repeat-count>0</repeat-count>
<repeat-interval>0</repeat-interval>
</simple>
</trigger>发布于 2012-05-21 16:29:24
我猜你的意思是扳机永远不会开火。也许是因为它刻不容缓它失火了?在未来的一段时间内添加<start-time-seconds-in-future/>怎么样?
<simple>
<name>MyOneTimeTrigger</name>
<group>MyTriggerGroup</group>
<description>Run once at startup, G</description>
<misfire-instruction>SmartPolicy</misfire-instruction>
<volatile>false</volatile>
<job-name>MyJob</job-name>
<job-group>MyJobGroup</job-group>
<start-time-seconds-in-future>60</start-time-seconds-in-future>
<repeat-count>0</repeat-count>
<repeat-interval>0</repeat-interval>
</simple>如果它对您有效,您必须知道一些您可能认为是错误或特性的事情:如果您重新启动服务器,因为触发器已经触发并被移除,它将再次触发。见:Quartz XML plugin reschedules fired triggers after restart。
https://stackoverflow.com/questions/10687304
复制相似问题