什么是可用于Java/JDBC的最佳连接池库?
我正在考虑2个主要候选人(免费/开源):
我在博客和其他论坛上阅读了很多关于它们的内容,但无法做出决定.
这两个是否有任何相关的替代方案?
在Eclipse我收到警告Resource leak: 'ps' is not closed at this location,我不明白.
在我的Java代码中,我将"ps"声明为Prepared Statement,并且我多次使用(并关闭)它.然后我有以下顺序:
try {
if(condition) {
ps = c.prepareStatement("UPDATE 1 ...");
} else {
ps = c.prepareStatement("UPDATE 2 ...");
}
ps.executeUpdate();
} catch (SQLException e) {
// exception handling
} finally {
if (null != ps)
try {
ps.close();
} catch (SQLException e) {
// exception handling
};
}
Run Code Online (Sandbox Code Playgroud)
"资源泄漏" - 警告来自其他部分的"更新" - 声明.如果我ps = null在启动try块之前设置,则没有警告.
如果第二个UPDATE-Statement被注释掉,则不会显示警告.
这是理解还是java/eclipse的问题?
我想了解connection pooling in java,我jsp, servlet and tomcat 6 server在我的申请中使用.我在以下代码中编写了以下代码java class dbconnection.java:
我在windows Xp OS中使用类型4 jdbc连接与oracle 10g EE
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class dbconnection {
public Connection con = null;
public Connection getConnection() throws Exception, SQLException
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:abc","abc", "abc");
}
catch(Exception e)
{
}
return con;
}
public void removeConnection() throws SQLException
{
con.close();
}
}
Run Code Online (Sandbox Code Playgroud)
然后我connection在servlet中重试如下:
try{
dbconnection db= new dbconnection();
Connection con=db.getConnection();
}
catch(Exception e){ …Run Code Online (Sandbox Code Playgroud)