【发布时间】:2012-03-02 18:14:21
【问题描述】:
目前我正在使用单独的 DBConnectionManager 类来处理我的连接池,但我也意识到这是错误的做法,因为每次执行 doGet() 时 servlet 都没有调用同一个池。
- 有人可以向我解释为什么会发生上述情况吗?
- JNDI 是否适合使用带有 tomcat 的 java 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(),它会一直引用这个对象。
谢谢。
【问题讨论】:
标签: java servlets jdbc connection-pooling