2011-04-04 75 views
0

我想使用Apache的對象池來獲取每次調用servlet時的連接。沒有其他的servlet使用這個池。我在init()中創建了一個ObjectPool。在我的doPost()中,我從池中獲得連接,使用它並釋放它。dbcp Servlet中的對象池

此servlet不是由用戶調用,而是由其他幾臺機器定期調用,即沒有用戶特定的操作。

我是否需要將池設置爲靜態或者我應該使用ServletContext,Listeners等。

回答

0

Servlet是一直單身,所以如果你不使用對servlet的基礎上增加一些更高層次的框架,實例變量init()初始化和destroy()破壞(這是一個很好的做法,關閉游泳池關閉所有底層連接)被非常好。

此外,所有連接池都設計爲可以在多線程環境中工作,因此您不需要任何額外的同步。

+0

謝謝。不需要靜態? – itsraja 2011-04-04 08:45:10

+0

不,您保證只創建每個聲明的servlet的單個實例,因此每個servlet字段實際上是一個單例。 – 2011-04-04 09:29:26

+0

感謝您的幫助。 – itsraja 2011-04-04 09:31:30