3

我有一个 grails 应用程序,它使用石英每 20 秒循环一次域类。

每次执行石英作业时,都会与 Mongo 建立另一个连接。以前的那些由于某种原因没有关闭,因此在 11 个连接后作业停止工作(连接超时)。我尝试了另一种方法,通过在操作中调用服务方法调用 URL,但连接数仍在不断增加。当我在没有运行 Quartz 作业的情况下重复调用 URL 时,只建立了 4 个新连接,不再有。

任何想法如何去做?

Grails 2.1.2、MongoDB 插件 1.1.0、Quartz 1.0

4

1 回答 1

3

对我来说,它适用于以下解决方法:将执行代码包装在[SomeDomain].withNewSession { }调用中。

User域示例

def execute() {
   User.withNewSession {
      //your code
   }
}
于 2013-04-05T19:33:39.703 回答