1. 程式人生 > >記一次Spring refresh context引發Data source is closed異常的坑

記一次Spring refresh context引發Data source is closed異常的坑

  • 背景:Spring的profile寫在了自定義配置檔案中,需要手動讀取配置檔案,手動啟用profile,關於啟用profile的方法參考Spring啟用profile的幾種方式,我們採用了方案2。程式是首先初始化Spring上下文,建立連線池和事務管理器等等,然後讀取配置檔案,獲取profile並激活,最後重新整理上下文。如果在初始化上下文和重新整理上下文之間有資料庫操作的話,重新整理上下文成功之後,這些操作就會報Data source is closed異常。
  • 解決:讀取配置檔案後立刻啟用profile、重新整理上下文,保證初始化上下文和重新整理上下文之間沒有資料庫操作。