1. 程式人生 > >Druid手動建立連線的坑

Druid手動建立連線的坑

環境:druid 1.1.10

今天優化了一天的程式碼, 老程式碼手動建立連線,

Connection conn = DBUtil.getConnection("d_log_dot_" + startTime);

當你close關閉連線的時候,實際與資料庫的物理連線並未關閉, 用Jmeter 1000個併發壓測一下就報Too Many connection

解決方案:

  1.改為druid原來的連線池, 這個我就不介紹了,都會

  2.因為用AOP切換多資料來源時,用forkJoin跑多工經常出現切換不過來, 所以就手動建立自己的連線池, 主要就是用ThreadLocal的特性,過程就是把連線放到ThreadLocal中,每次從ThreadLocal取