簡體   English   中英

在Tomcat 7上播放Framework 2.2.2-刪除BoneCP

[英]Play Framework 2.2.2 on Tomcat 7 - Remove BoneCP

我有一個Play Framework 2.2.2應用程序,我將其部署為.war文件並在Tomcat 7下運行。我的應用程序在本地開發機器上運行了好幾天沒有問題(通過Play的內置服務器,而不是Tomcat),但是我將其部署到Tomcat下后,幾個小時后Tomcat服務器將被鎖定,同時還關閉了其上運行的所有其他應用程序。

我認為問題在於Play中的BoneCP連接池與Tomcat的內置連接池存在沖突。 Tomcat日志中沒有太多或任何有用的信息,因此在這里我有點猜測。

我想在我的Play應用程序中禁用BoneCP連接池,但是找不到有關如何執行此操作的信息。

任何建議表示贊賞!

有幾種可能的解決方案,對於您的部署環境而言,或多或少是更可取的。

  1. Play為您提供了“即用型”數據庫連接,您無需使用它。 從構建文件中刪除Play JDBC組件(從libraryDependencies刪除jdbc ),然后自己手動設置JDBC連接。 例如,您可以創建具有功能getConnection()的單例TomcatConnectionPool ,該函數為您提供在Play操作中使用所需的JDBC連接。

  2. 編寫自己的插件,專門擴展Play的DBPlugin接口 ,使其成為數據庫插件。 像Play的BoneCPPlugin一樣實現它,但使其使用Tomcat連接池而不是BoneCP。

  3. 使用其他人已經制作的自定義Play數據庫插件, 例如使用c3p0的插件。 我有一些軼事證據表明c3p0在Tomcat上可以很好地工作,但是您的努力卻有所不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM