首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql ReplicationDriver不支持TransactionManager read-only=true

mysql ReplicationDriver不支持TransactionManager read-only=true
EN

Stack Overflow用户
提问于 2012-05-31 20:09:39
回答 1查看 1.3K关注 0票数 4

我们使用com.mysql.jdbc.ReplicationDriver连接主从机。我们按如下方式配置transactionManager。

代码语言:javascript
复制
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

<tx:advice id="txHbAdvice" transaction-manager="transactionManager">
    <tx:attributes>
        <tx:method name="get*" read-only="true" />
    </tx:attributes>
</tx:advice>

我将只读参数设置为true,但它没有将java.sql.Connection.setReadonly()方法设置为true。所有读取的查询仍然到达主服务器。

对于类似的问题here,有一个开放的问题。有没有人有解决这个问题的办法?

EN

回答 1

Stack Overflow用户

发布于 2012-07-16 16:08:47

我的建议是围绕@Transactional注释编写方面,获取当前正在运行的会话,然后如果doWork(Work work)设置了connection.setReadOnly属性,则调用@transaction→并设置readonly。我还没有尝试过这个解决方案,但我认为它应该是有效的。

你也可以参考这个solution

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10833325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档