tomcat中连接池的理想结构

时间:2013-05-27 07:54:50

标签: java java-ee servlets tomcat7

看看我的问题出现在下面,每当​​我想使用连接池访问我的数据库总是需要在servlet中调用Init方法来检索连接,对我来说这是一个问题,我一直在审查页面上有几个问题。

我的想法是调用我的第一个servlet init和Connection发送会话来更改我的数据库,而不必调用init方法,但是我的问题是,我应该在哪里关闭我的连接。

我试图找到理想的连接池结构来解决这个问题。

我的init方法包含以下

public void init(ServletConfig config) throws ServletException {
    Context ctx;
    try {
        ctx = new InitialContext();
        sourceDb = (DataSource) ctx.lookup("java:comp/env/jdbc/Practica5");

    } catch (NamingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

我参加了会议:

synchronized (sourceDb) {
    con = sourceDb.getConnection();
}
if (con == null) {
    throw new ServletException("Problemas con la conexion");
}
request.getSession().setAttribute("con",con);

1 个答案:

答案 0 :(得分:0)

在会话中共享数据库连接在任何时候都会很麻烦...... 我觉得它可能会在执行期间导致序列化问题......

如果要求在会话中使用单个连接对象,那么最好将连接对象返回到池中并在另一个servlet中再次获取它...

在这种情况下,我们确保通过数据源

在servlet之间维护连接对象