首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Resin 2.1.12 資料庫連線池配置:MySQL 與 SQL Server 完整範例

     編輯:Java 相關知識

配置檔位置

%RESIN_HOME%/conf/resin.conf,在 <database> 或 <resource-ref> 區塊新增。

MySQL 連線池 (Caucho 驅動)



  jdbc/blog
  javax.sql.DataSource
  
  
  
  
  
  

  • 驅動:com.caucho.jdbc.mysql.Driver (Resin 內建 Caucho MySQL 驅動)
  • URL 協定:jdbc:mysql_caucho://
  • JAR 放置:%RESIN_HOME%/lib/ (若使用官方驅動則放 mysql-connector-java.jar)

SQL Server 連線池 (Microsoft 官方驅動)



  jdbc/blog
  javax.sql.DataSource
  
  
  
  
  
  

  • 驅動:com.microsoft.jdbc.sqlserver.SQLServerDriver (SQL Server 2000 JDBC 驅動)
  • 需安裝驅動,將其 lib/ 下三個 JAR (msbase.jar, mssqlserver.jar, msutil.jar) 複製至 %RESIN_HOME%/lib/。
  • SQL Server 2005+ 建議改用 com.microsoft.sqlserver.jdbc.SQLServerDriver (sqljdbc.jar)。

JSP/Servlet 中使用


Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/blog");
Connection conn = ds.getConnection();
// ... 業務邏輯
conn.close(); // 歸還連線池

關鍵參數說明

參數含義建議值
max-connections池中最大連線數20-50 (視 DB 最大連線數與應用併發)
max-idle-time閒置連線最大存活時間30s-5m (避免 DB 端主動斷開導致殭屍連線)
min-connections啟動時預建連線數 (可選)5-10
connection-wait-time取連線最長等待時間 (可選)10s-30s

常見問題

  • ClassNotFoundException: Driver → JAR 未放入 %RESIN_HOME%/lib/ 或 Resin 未重啟。
  • Communications link failure → 檢查 DB 服務、防火牆、URL 主機埠、驅動版本相容性。
  • 連線洩漏 → 確保 finally 區塊 conn.close(),啟用 Resin 連線洩漏偵測 (配置 connection-leak-timeout)。

結語

Resin 連線池配置極簡潔,核心在 resin.conf 宣告 resource-ref 並放入正確驅動 JAR。生產環境建議加入 min-connections、connection-wait-time、validation-query (如 SELECT 1) 保障連線可用性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved