代码之家  ›  专栏  ›  技术社区  ›  Jörg Brenninkmeyer

为什么grails Quartz作业在生产几分钟后就会死掉?

  •  1
  • Jörg Brenninkmeyer  · 技术社区  · 14 年前

    使用grails Quartz插件(最新的稳定版本,0.4.2),我有四个不同的作业在我的开发环境中运行良好,大多数作业每分钟运行一次。

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

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

    2 回复  |  直到 11 年前
        1
  •  2
  •   ataylor    14 年前

    我还遇到了使用quartz-1.5.2.jar而不是quartz插件中包含的quartz-1.7.3.jar的问题。我追踪到shiro中的一个依赖项,它本身包括一个shiro-quartz.jar,它本身对quartz的确切版本有依赖性。

    我的解决办法是把这个加到我的 BuildConfig.groovy :

    grails.project.dependency.resolution = {
    
        ...
    
        dependencies {
            compile("org.apache.shiro:shiro-quartz:1.0.0-incubating") {
                excludes("quartz")
            }
        }
    }
    

    如果不是shiro,试着跑 grails dependency-report . 从那里你可以找出什么是拉错石英版本。

        2
  •  1
  •   Jörg Brenninkmeyer    14 年前

    我想我发现这个问题是基于 this grails JIRA comment .

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