1

En utilisant le plugin Quartz grails (dernière version stable, 0.4.2), j'ai quatre Jobs différents qui fonctionnent bien dans mon environnement de développement, la plupart d'entre eux toutes les minutes. Cependant, dans l'environnement de production, ils tournent pendant quelques minutes puis "meurent" - ils ne fonctionnent plus. Il n'y a pas d'exception levée ou similaire. Le reste de l'application fonctionne toujours correctement.Pourquoi les travaux sur le gravier meurent-ils après quelques minutes de production?

Quelqu'un a-t-il une idée de la raison de cette situation? Où/Comment devrais-je commencer à analyser le problème?

+3

Les exceptions (de Jobs ou du plugin) ne sont pas lancées mais sont enregistrées - si votre configuration Log4J inclut 'org.quartz'. – robbbert

+0

Merci, cela explique pourquoi je n'ai pas vu les exceptions! –

Répondre

2

J'ai également rencontré un problème avec le quartz-1.5.2.jar utilisé à la place du quartz-1.7.3.jar inclus dans le plug-in quartz. Je l'ai fait remonter à une dépendance en shiro, qui comprend elle-même un shiro-quartz.jar qui dépend lui-même de cette version exacte du quartz.

Ma solution a été d'ajouter à mon BuildConfig.groovy:

grails.project.dependency.resolution = { 

    ... 

    dependencies { 
     compile("org.apache.shiro:shiro-quartz:1.0.0-incubating") { 
      excludes("quartz") 
     } 
    } 
} 

Si ce n'est pas Shiro, essayez d'exécuter grails dependency-report. De là, vous pouvez trouver ce qui tire dans la mauvaise version du quartz.

+0

J'utilise aussi le plugin shiro et c'était la solution exacte à mon problème. Je vous remercie! –

1

Je pense que j'ai trouvé le problème basé sur this grails JIRA comment.

D'une certaine façon, le quartz-1.5.2.jar était sur mon environnement de production, en plus de quartz-1.7.3.jar. Je l'ai enlevé et après avoir redémarré Tomcat, ça a marché (au moins jusqu'à maintenant).