91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

druid mybatis超時連接如何處理

小樊
82
2024-08-02 05:11:13
欄目: 編程語言

當 Druid 連接池中的連接超時時,可以通過配置相關的參數來處理超時連接。以下是一些處理超時連接的常見方法:

  1. 設置 Druid 連接池的 maxWait 參數:maxWait 參數表示獲取連接時最長等待時間,如果超時未獲取到連接,則會拋出異常。可以根據業務需求適當調整該參數。
spring.datasource.druid.maxWait=10000
  1. 設置 Druid 連接池的 removeAbandoned 參數:removeAbandoned 參數表示是否自動回收超時連接,默認為 false。可以設置為 true 來自動回收超時連接。
spring.datasource.druid.removeAbandoned=true
spring.datasource.druid.removeAbandonedTimeout=180
  1. 使用定時任務檢測并回收超時連接:可以通過定時任務定期檢測連接的空閑時間,如果超過一定時間則將其回收。
DruidDataSource dataSource = (DruidDataSource) dataSource;
int removeAbandonedTimeout = dataSource.getRemoveAbandonedTimeout();
int abandonedConnectionCount = dataSource.getRemoveAbandonedCount();
if (removeAbandonedTimeout > 0 && abandonedConnectionCount > 0) {
    Date now = new Date();
    List<DruidPooledConnection> abandonedConnections = new ArrayList<>();
    for (DruidPooledConnection connection : dataSource.getConnections()) {
        if ((now.getTime() - connection.getLastActiveTimeMillis()) > removeAbandonedTimeout) {
            abandonedConnections.add(connection);
        }
    }
    for (DruidPooledConnection connection : abandonedConnections) {
        dataSource.removeAbandoned(connection);
    }
}

通過以上方法可以有效處理 Druid MyBatis 超時連接的問題,保證應用程序的穩定性和性能。

0
宿迁市| 泸西县| 长子县| 枣庄市| 太仓市| 建昌县| 越西县| 广昌县| 新巴尔虎左旗| 扬州市| 赞皇县| 大足县| 磐石市| 远安县| 承德市| 江陵县| 从江县| 大连市| 任丘市| 曲阳县| 宝清县| 青阳县| 宝丰县| 西昌市| 阿坝县| 岳阳县| 蒙阴县| 宿州市| 阜平县| 卓尼县| 津市市| 丰台区| 商丘市| 涟水县| 贺兰县| 资中县| 威宁| 洪湖市| 江孜县| 茂名市| 达日县|