我使用XML Scheduling Plugin(XMLSchedulingDataProcessorPlugin
)在啓動時在JDBC作業存儲器中創建了幾個作業和觸發器,其中包括quartz-scheduler。這工作正常,但我有一個簡單的觸發器配置爲只運行一次的問題。Quartz XML插件在重新啓動後重新計劃觸發器觸發器
當這樣的觸發器觸發時,它將從數據庫中刪除,因爲沒有下一次觸發時間。到現在爲止還挺好。不幸的是,當我重新啓動應用程序時,插件找不到該觸發器,因此它會再次重新插入。因爲我使用MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY
這個工作被再次從數據庫中刪除。重新啓動應用程序會重複整個過程。
顯然我想讓我的觸發器只觸發一次。即使他們沒有下一次火災時間,是否可以在數據庫中保留觸發器觸發器?或者,也許這可以用不同的方式解決?從我的quartz_data.xml
文件摘錄:
<processing-directives>
<overwrite-existing-data>false</overwrite-existing-data>
<ignore-duplicates>true</ignore-duplicates>
</processing-directives>
<schedule>
<trigger>
<simple>
<!-- ... -->
<start-time>2012-05-10T07:00:00Z</start-time>
<repeat-count>0</repeat-count>
<repeat-interval>0</repeat-interval>
</simple>
</trigger>
注意,有一個與到達最後執行,因此從數據庫中刪除了所有的觸發問題。