我正在使用 bonecp 来处理与数据库的连接。 这是我的测试配置。
config.setJdbcUrl("jdbc:mysql://192.168.1.104/" + DATABASE);
config.setUsername(USERNAME);
config.setPassword(PASSWD);
config.setMinConnectionsPerPartition(2);
config.setMaxConnectionsPerPartition(4);
config.setIdleMaxAge(30, TimeUnit.SECONDS);
config.setIdleConnectionTestPeriod(30, TimeUnit.SECONDS);
config.setConnectionTestStatement("SELECT 1");
config.setMaxConnectionAge(1, TimeUnit.MINUTES);
config.setPartitionCount(1);
我正在尝试从池中获取连接,在获得第5次连接getConnection HANGS 之后从池中获得4个连接,因为池已用尽我没有关闭连接。但是通过配置,bonecp会在超时后关闭连接,而不会发生这种情况。
IdleMaxAge,MaxConnectionAge和IdleConnectionTestPeriod 参数的用途是什么?
答案 0 :(得分:0)
使用
config.setCloseOpenStatements(true);
我也会明白为什么这些陈述会保持开放..