1

使用grails Quartz插件(最新的稳定版本,0.4.2),我有四种不同的Jobs,在我的开发环境中运行良好,大部分都是每分钟。为什么Grails石英工作在生产几分钟后就会死亡?

但是在生产环境中,他们运行了几分钟然后“死亡” - 他们只是不再运行。没有抛出异常或类似。应用程序的其余部分仍然正常工作。

有没有人知道这可能是什么原因?在哪里/我应该如何开始分析问题?

+3

例外(作业或插件)不会被抛出但会被记录 - 如果您的Log4J配置包含'org.quartz'。 – robbbert 2010-11-19 15:51:16

+0

谢谢,这解释了为什么我没有看到例外! – 2010-11-19 17:10:51

回答

2

我也遇到了使用quartz-1.5.2.jar而不是石英插件中包含的quartz-1.7.3.jar的问题。我将它追溯到shiro中的依赖项,它本身包含一个shiro-quartz.jar,它本身依赖于那个精确版本的石英。

我的解决办法是把它添加到我的BuildConfig.groovy

grails.project.dependency.resolution = { 

    ... 

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

如果不是四郎,尝试运行grails dependency-report。从那里你可以发现什么是拉错的石英版本。

+0

我也使用shiro插件,这是我的问题的确切解决方案。谢谢! – 2010-11-20 13:49:45

1

我想我根据this grails JIRA comment发现了问题。

不知怎的,除了quartz-1.7.3.jar之外,quartz-1.5.2.jar在我的生产环境中。我已经删除它,并重新启动Tomcat后,它一直在工作(至少到现在为止)。