2011-10-09 17 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

非常感謝你,現在我看到實際上實現池沒有問題。 –