【发布时间】:2011-05-28 08:32:27
【问题描述】:
我正在重构其他代码。我注意到的一件事是系统如何从连接池获取连接的方式。
样品是这样的。每次调用服务方法时,系统都会在 JNDI 上为数据源进行上下文查找。
public class CheckinServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
//Obtain Connection
InitialContext initialContext = new InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource) initialContext
.lookup("jdbc/mysqldb");
java.sql.Connection conn = ds.getConnection();
//business logic
//redirect
} finally {
conn.close();
}
}
}
我确实认为每次执行此操作都会对性能造成影响。我正在考虑如何从连接池中检索连接的另一种方法。
我正在考虑使用 servlet 的 init() 方法,但我认为这不是最佳选择。
【问题讨论】: