[英]JDBC Connection Pooling for Servlets
当前,我正在使用一个单独的DBConnectionManager类来处理我的连接池,但是我也意识到这是错误的方法,因为每次执行doGet()时Servlet都不调用相同的池。
我有2篇文章的链接,这是用servlet实现连接池的正确方法吗?
http://www.javaranch.com/journal/200601/JDBCConnectionPooling.html
http://onjava.com/onjava/2006/04/19/database-connection-pooling-with-tomcat.html
是否可以在上下文中保存数据库管理器对象,如下所示:
mtdb = (MTDbManager) context.getAttribute("MTDBMANAGER");
if (mtdb == null) {
System.out
.println("MTDbManager is null, reinitialize MTDbManager");
initMTDB(config);
context.setAttribute("MTDBMANAGER", mtdb);
}
然后,我调用mtdb.getInstance()。getConnection(),它将始终引用该对象。
谢谢。
通常,最好的建议是将连接池留给应用程序服务器。 只需使用JNDI查找数据源,然后让应用程序服务器处理其余的数据即可。 这使您的应用程序具有可移植性(不同的应用程序服务器具有不同的缓冲机制和设置),并且最有可能是最有效的。
查看并使用C3P0,而不是滚动自己的解决方案: http : //sourceforge.net/projects/c3p0/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.