jfinal如何实现mysql读写分离

李有鬼 发布于 2013/07/27 10:00
阅读 1K+
收藏 2

@JFinal 如何实现mysql读写分离

加载中
0
skyim
skyim
mysql 读写分离应该是数据库方面的概念,不是jfinal框架的事情啊
铂金小虫
铂金小虫
+1
0
南湖船老大
南湖船老大
和jfinal 无关,和你自己有关
0
红星xx
红星xx
真为 楼上 几个 捉急 , 配置好数据库 读写分离后 ,如果没有中间件 ,还要是要框架 支持 的。
铂金小虫
铂金小虫
应用不是照旧连主数据库吗?
0
李有鬼
李有鬼

确实,中间件有几个可以选择,但是想在框架这层实现。原来用的paoding-rose,是在框架层面实现的。

0
JFinal
JFinal

1:设置ActiveRecordPlugin的DataSource 为slave库

2:定义@Master annotation来识别action是否需要切到master

3:创建一个全局拦截器,获取action 方法上的 @Master annotation,如果获取到则将从Master库得到Connection,并调用DbKit.setThreadLocalConnection(conn)切换过去,最后别忘了在finally块中关闭连接

    也可以使用第三方中间件在底层实现自动切换

糖豆
糖豆
1、我一般使用druid配置了数据库连接池,这种直接使用数据库连接,是不是不合适,如果采用连接池,怎么处理呢? 2、我在主数据库插入数据正确后,也按finally中关闭了连接,但无法切换到从数据库,因为下一个查询的ACTION,程序就出错,说数据库无法在关闭状态下使用。
糖豆
糖豆
您好,我按您说的正确配置了@Master ,在拦截器中也可以得到配置了注解的ACTION,也可以通过DbKit.setThreadLocalConnection进行数据库的切换,但有两个问题:
返回顶部
顶部