亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Apache dbcp 連接池無法正常工作

Apache dbcp 連接池無法正常工作

MMTTMM 2022-12-28 10:25:49
我正在嘗試按照此處的教程mysql使用連接池連接到數據庫:apache dbcp2https://git-wip-us.apache.org/repos/asf?p=commons-dbcp.git;a=blob;f=doc/PoolingDataSourceExample.java;h=2a12c74898930b9623223db1597b8a8052a6f1df;hb=HEAD返回連接的我的數據庫連接類如下所示:public class DbConnection {private static interface Singleton {    final DbConnection INSTANCE = new DbConnection();}private final PoolingDataSource<PoolableConnection> dataSource;private DbConnection() {    // A ConnectionFactory that the pool will use to create Connections.    DriverManagerConnectionFactory connectionFactory = new DriverManagerConnectionFactory(url, user, pass);  //url,user,pass for db connnection    //implement the pooling functionality.    PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, null);    GenericObjectPoolConfig config = new GenericObjectPoolConfig();    config.setMaxWaitMillis(500);    config.setMaxTotal(20);    config.setMaxIdle(5);    config.setMinIdle(5);    //PoolingDataSource expect an ObjectPool    ObjectPool<PoolableConnection> connectionPool = new GenericObjectPool<>(poolableConnectionFactory, config);    // Set the poolableConnectionFactory's pool property to the owning pool    poolableConnectionFactory.setPool(connectionPool);    this.dataSource = new PoolingDataSource<>(connectionPool);}public static Connection getCon() throws SQLException {    return Singleton.INSTANCE.dataSource.getConnection();}} 我正在使用 apache jmeter 來測試連接并從我的 mysql 數據庫返回一些東西。我創建了 100 個用戶,啟動時間(以秒為單位)為 2 秒。我創建了一個Http request,當我試圖在其中查看我的響應時,view results tree我成功地獲得了前 20 個請求的響應。來自(21 到 100)的后續請求有空白響應。我經歷了許多涉及的問題:java.sql.SQLException:無法獲取連接,池錯誤等待空閑對象超時
查看完整描述

1 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

您沒有關閉Connection對象,您必須在 try-with-resources 塊中聲明此類變量:

try (Connection conn = DbConnection.getCon(); 
       PreparedStatement ps = conn.prepareStatement("SELECT id FROM test WHERE id =?;")) {

您還需要關閉ResultSet,要么在方法中調用close方法,要么ResultSet使用返回它的新方法將其添加到 try-with-resources 塊


查看完整回答
反對 回復 2022-12-28
  • 1 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號