Servlet中的数据库连接池 - 最佳实践

时间:2016-02-04 16:49:18

标签: java servlets database-connection datasource

我开发了一个连接到Oracle数据库的HTTP Servlet。 在我的Weblogic日志中,我收到错误: 的 无法获取XAConnection weblogic.common.resourcepool.ResourceLimitException:池中没有可用于分配给应用程序的资源Kitry_InWebo,请增加池的大小并重试。

我怀疑我的应用程序没有释放数据库连接,所以,过了一段时间,没有更多可用的连接。

我的问题是如何在HTTP Servlet中管理我的数据库连接?

目前,我在init方法中初始化Datasource:

  

ds =(DataSource)ic.lookup(dataSourceName);

然后在doGet方法中我打开一个新连接,执行一个语句并关闭连接:

// Get a DB connection  
conn = ds.getConnection(); 
stmt = conn.createStatement();  

// Execute Statement 
rs = stmt.executeQuery("select * from dual");             
while (rs.next()) {
  staffCode = rs.getString(1); 
}
conn.close();

这似乎是一个很好的方法,但我达到了最大数量连接。 那有什么不对?!

此致

0 个答案:

没有答案