【问题标题】:Several Read-Only DB Connections in Spring and HibernateSpring 和 Hibernate 中的几个只读数据库连接
【发布时间】:2013-06-18 16:18:34
【问题描述】:

我们有一个 Spring+Hibernate 应用程序(使用 Spring 2,来自 AppFuse 1.9)迫切需要更新到 Spring 3。我们正在慢慢努力。

与此同时,我想减轻我们主数据库服务器的一些负载,并设置只读控制器(仅显示信息)以从我们的数据库从属服务器中读取数据。

更具体地说,我们有多个数据库服务器(主+从),我希望能够建立多个数据库连接,然后指定控制器1使用db1,控制器2和3使用db2。

我们怎样才能做到这一点?

【问题讨论】:

    标签: spring hibernate postgresql


    【解决方案1】:

    你应该可以在 Spring 中使用 AbstractRoutingDataSource 类来做到这一点。这个blog 应该可以帮助你。您可以为每个控制器连接每个数据源。

    【讨论】:

    • 我很有希望......但是我们在 Hibernate 中使用 L2 缓存,但是基于该博客中的 cmets,走这条路线会以某种方式导致 L2 缓存出现问题?
    • 我们也使用 L2 缓存,但我们将所有主键作为全局生成的 UUID。
    • 谢谢!也许我错了,但是考虑到 L2 缓存只会从主数据库(只有一个数据库)的更改中被撤销/驱逐,因为其他数据库将是只读的,这应该没问题?
    • 我是这么认为的,但我不是这里的专家 :( - 我可以说的是,我们可以很好地使用 UUID 作为主键
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多