2017-05-08 1 views
1

Je suis en train de ATTACHE une instruction de ratés d'allumage à un programmateur défini à l'aide du plug-in XMLQuartz exception programmateur tout en ajoutant un raté d'allumage-instruction au planificateur

(Le travail doit être exécuté à chaque minute, et si le travail des ratés il devrait ne rien faire et exécuter le travail suivant le calendrier prévu)

<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> 

Je reçois une exception de validation XML avec ce message

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. 

J'ai essayé d'ajouter <time-zone>UTC</time-zone à la définition de cron mais j'ai juste eu plus d'erreurs de validation. Inutile de dire que lorsque je l'ai enlevé

MISFIRE_INSTRUCTION_DO_NOTHING

tout a bien fonctionné. Alors, comment puis-je réparer mon XML?

J'utilise Quartz 2.3.0

Répondre

3

Selon le Quartz XSD l'élément misfire-instruction doit précéder la cron-expression un.

Et c'est ce que le message d'erreur vous dit. Il mentionne l'élément time-zone car il s'agit du seul élément valide aprèscron-expression.

+0

oui, vous avez raison, merci! – svarog