2011-10-09 18 views
1

我的项目是创建一个web服务,它将连接到XMPP服务器并充当向XMPP客户端发送消息的桥梁(WS调用 - > XMPP消息)。最近,我想创建一个单一的连接,它将在所有请求中共享( - >我的上一个问题)。我是否应该明确销毁用作Tomcat资源的连接池?

但是,我被告知要创建一些可扩展性更强的连接池。我发现了一段非常有用的代码here。但是,恐怕在Tomcat容器内存泄露的 - 我读过太多关于它;)在这里,我有几个问题:

  1. 如果我指定库作为一种资源,它会自动创建上下文初始化期间有关内存泄漏的内容服务器关机?它们不会自动销毁,是吗?我明白我应该手动销毁它,创建一个ContextListener,但是我该怎么称呼?
  2. 如果我投入资源定义

    removeAbandoned="true" removeAbandonedTimeout="60" 
    

    将帮助它摧毁从池中僵连接?这是一个正确的解决方案,还是灾难后恢复的一种方式?

任何帮助将不胜感激,非常感谢!

回答

0

如果关闭了服务器,那么您将关闭JVM,并且资源泄漏无关紧要。您可能读到的与Tomcat有关的唯一内存泄露是the PermGen problem,这一般困扰着webapp开发。不要担心连接池。它会照顾好自己。

+0

非常感谢你,现在我看到实际上实现池没有问题。 –