具有Hibernate的后备数据库

时间:2014-06-23 05:10:34

标签: java spring hibernate postgresql h2

有人知道如何让2个数据库并行运行吗? 我们正在使用Hibernate 4并作为主数据库Postgres 9.3 - 这个数据库托管在另一台机器上然后是应用程序 - 如果数据库关闭,我们仍然需要保存一些东西。

所以第一个意图是将它写入csv,但我不是将东西写入无序文件的朋友。所以我只想使用一个备用数据库(想想H2数据库)。有人有这种结构的经验吗?

我们也在使用Spring 4 - 我只是设置另一个数据源+ sessionfactory + transactionmanager - 并在@Transactional方法中添加名称以使用正确的管理器。还有其他想法吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以扩展Spring AbstractRoutingDataSource并配置两个实际数据源:

  1. 主要PostgreSQL数据源
  2. 辅助H2数据源
  3. 应用程序逻辑只能看到一个数据源,即路由器将根据需要决定切换到哪个数据源。

    当主数据源关闭时,您需要指示路由器选择后备H2。