[英]connection pooling in Tomcat with singleton?
我在Tomcat上運行的Web應用程序中使用連接池。 我按照這里的http://tomcat.apache.org/tomcat-7.0-doc/jndi-resources-howto.html#Adding進行設置
當我需要連接時,我會在servlet的每個請求中調用以下代碼
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)
envCtx.lookup("jdbc/myDBName");
con = ds.getConnection();
我應該將ds對象初始化為單例並從該對象獲取連接,而不是一遍又一遍地獲取ds嗎?
是的,JNDI查找可能相對昂貴,尤其是如果您要一遍又一遍地進行查找。 您可以在Servlet的init()方法中查找一次DataSource對象,並將其存儲在一個字段中,以便以后在service()/ doPost()/ doGet()方法中使用它。
只要確保在Servlet的destroy()方法中的數據源之后關閉/清理即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.