首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Quartz XML插件声明一次性简单触发器?

如何使用Quartz XML插件声明一次性简单触发器?
EN

Stack Overflow用户
提问于 2012-05-21 14:35:00
回答 1查看 8K关注 0票数 6

我正在尝试设置一个作业,以便它在我的调度程序第一次启动时运行一次,然后每天午夜运行一次。下面是我的作业和触发器的XML。一天一次的触发器工作,但一次性触发器不起作用。

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

发布于 2012-05-21 16:29:24

我猜你的意思是扳机永远不会开火。也许是因为它刻不容缓它失火了?在未来的一段时间内添加<start-time-seconds-in-future/>怎么样?

代码语言:javascript
复制
<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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10687304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档