我试图对使用XML外接程序定义的调度程序执行错误指令。
(作业应该每分钟运行一次,如果作业触发错误,它应该什么也不做,并按计划运行下一个作业)
<schedule>
<job>
<name>MyJob</name>
<group>MyGroup</group>
<description>My job description</description>
<job-class>com.path.to.MyJobClass</job-class>
</job>
<trigger>
<cron>
<name>JobCronTrigger</name>
<description>
bla bla
</description>
<job-name>MyJob</job-name>
<job-group>MyGroup</job-group>
<cron-expression>0 0/1 * 1/1 * ?</cron-expression>
<misfire-instruction>MISFIRE_INSTRUCTION_DO_NOTHING</misfire-instruction>
</cron>
</trigger>
</schedule>我得到了这个消息的XML验证异常
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a:
Invalid content was found starting with element 'time-zone'. One of
'{"http://www.quartz-scheduler.org/xml/JobSchedulingData":priority,
"http://www.quartz-scheduler.org/xml/JobSchedulingData":calendar-name,
"http://www.quartz-scheduler.org/xml/JobSchedulingData":job-data-map,
"http://www.quartz-scheduler.org/xml/JobSchedulingData":start-time,
"http://www.quartz-scheduler.org/xml/JobSchedulingData":start-time-seconds-in-future,
"http://www.quartz-scheduler.org/xml/JobSchedulingData":misfire-instruction,
"http://www.quartz-scheduler.org/xml/JobSchedulingData":cron-expression}'
is expected.我尝试过将<time-zone>UTC</time-zone添加到cron定义中,但我只是得到了更多的验证错误。不用说,当我移除
MISFIRE_INSTRUCTION_DO_NOTHING
一切都很好。那么,我如何修复我的XML呢?
我用的是石英2.3.0
发布于 2017-05-09 12:31:25
根据石英XSD,misfire-instruction元素必须在cron-expression元素之前。
这就是错误信息告诉你的。它提到了time-zone元素,因为这是cron-expression之后唯一有效的元素。
https://stackoverflow.com/questions/43848099
复制相似问题