%RESIN_HOME%/conf/resin.conf,在 <database> 或 <resource-ref> 區塊新增。
jdbc/blog
javax.sql.DataSource
com.caucho.jdbc.mysql.Driver (Resin 內建 Caucho MySQL 驅動)jdbc:mysql_caucho://%RESIN_HOME%/lib/ (若使用官方驅動則放 mysql-connector-java.jar)
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/。com.microsoft.sqlserver.jdbc.SQLServerDriver (sqljdbc.jar)。
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) 保障連線可用性。