相关疑难解决方法(0)

JDBC的连接池选项:DBCP与C3P0

什么是可用于Java/JDBC的最佳连接池库?

我正在考虑2个主要候选人(免费/开源):

我在博客和其他论坛上阅读了很多关于它们的内容,但无法做出决定.

这两个是否有任何相关的替代方案?

java connection-pooling jdbc c3p0 apache-commons-dbcp

311
推荐指数
10
解决办法
20万
查看次数

JDBC MySql连接池实践,以避免耗尽连接池

我在GlassFish上有一个Java-JSF Web应用程序,我想在其中使用连接池.因此,我创建了一个applicationscoped bean,它Connection为其他bean的实例提供服务:

public class DatabaseBean {

    private DataSource myDataSource;

    public DatabaseBean() {
        try {
            Context ctx = new InitialContext();
            ecwinsDataSource = (DataSource) ctx.lookup("jdbc/myDataSource");
        } catch (NamingException ex) {
            ex.printStackTrace();
        }
    }

    public Connection getConnection() throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException {
        Connection connection = myDataSource.getConnection();
        System.out.println("Succesfully connected: " + connection);
        //Sample: Succesfully connected: com.sun.gjc.spi.jdbc40.ConnectionHolder40@7fb213a5
        return connection;
    }
}
Run Code Online (Sandbox Code Playgroud)

这样连接池的填充速度非常快; 在通过"db-related"视图进行一些导航后,应用程序将停止并显示以下内容:

RAR5117:无法从连接池[mysql_testPool]获取/创建连接.原因:正在使用的连接等于max-pool-size和expired max-wait-time.无法分配更多连接.RAR5114:分配连接时出错:[分配连接时出错.原因:正在使用的连接等于max-pool-size和expired max-wait-time.无法分配更多连接.] java.sql.SQLException:分配连接时出错.原因:正在使用的连接等于max-pool-size和expired max-wait-time.无法分配更多连接.

我正在关闭每种方法中的连接和其他资源.应用程序通过独立连接运行一切正常.

我究竟做错了什么?任何提示或建议将不胜感激.

java mysql connection-pooling jdbc glassfish

10
推荐指数
1
解决办法
3万
查看次数

在JDBC中,Connection,Statement和ResultSet应该多久关闭一次?

它们是否需要在每次查询后关闭并在每次查询开始时初始化?

java jdbc

4
推荐指数
1
解决办法
3914
查看次数