2014-06-23 248 views
2

做一個人你知道一種方式有2個數據庫並行運行? 我們使用Hibernate 4並作爲主數據庫Postgres 9.3 - 這個數據庫託管在另一臺機器上,然後是應用程序 - 如果數據庫關閉,我們仍然需要保存一些東西。休眠數據庫與休眠

所以首要目的是把它寫入一個csv,但我不是寫東西到一個無序文件的朋友。所以我只想使用後備數據庫(考慮H2數據庫)。有人對這樣的構造有經驗嗎?我們也在使用Spring 4--我只需要設置另一個數據源+ sessionfactory + transactionmanager,並在@Transactional方法中添加名稱來使用正確的管理器。任何其他想法?

謝謝!

回答

2

可以擴展Spring AbstractRoutingDataSource並配置兩個實際數據源:

  1. 主PostgreSQL的數據源
  2. 二次H2數據源

應用邏輯將看到只有一個數據源,這是決定哪個數據源將按需切換的路由器。

當主數據源關閉時,您需要指示路由器選擇回落H2。