2011-10-07 30 views
1

我正在創建一個maven jsf2 web應用程序。我在實現ServletContextListener的類中初始化了bonecp連接池對象(BoneCp類)。此類在Web應用程序啓動之前運行。我做對了嗎?就是說,連接池初始化放在正確的區域?當我在具有單例模式的普通類中初始化bonecp對象時,我使用的數據庫在Web應用程序中執行某些操作時響應非常緩慢。該數據庫存儲在IBM強大的服務器中。所以我很困惑我必須把bonecp連接池的啓動代碼放在哪裏。我在哪裏可以初始化Web應用程序中的連接池?

回答

2

您沒有提及您正在使用哪個Java Web容器。使用數據庫連接池的原因之一是避免將數據庫用戶名和密碼存儲在Web應用程序中,因此通常將它們配置爲Web容器的一部分。然後,您的Web應用程序只需引用連接池,並在幕後處理身份驗證。

+0

我正在使用tomcat服務器。對不起,我忘了說。有什麼理由使用連接池,比如快速連接操作?我在問這個問題,因爲我正在使用這個原因 – olyanren

+0

是的,他們還有許多其他的優點,但配置應該放在網絡應用程序之外。在JSF,JSP或Servlets中使用它們變得非常簡單。 – trojanfoe

+1

如何在Tomcat中配置連接池數據源可以在這裏閱讀:http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html。 – BalusC

相關問題