NutzCN Logo
问答 从代码层面实现双数据源的同时读写,是否可行?
发布于 1687天前 作者 yafeisong 1403 次浏览 复制 上一个帖子 下一个帖子
标签:

目前项目想要从代码层面实现容灾,即配置两个数据库,结构完全相同,写入的时候,同时写入到两个数据库中,读取的时候,如果一个异常,就从另外一个库中读取。
数据库为Oracle,现在用的也是Rac模式,但是时灵时不灵,也因为一些其他原因,公司不太想从数据库层面折腾容灾的事,更倾向于通过应用中逻辑处理来解决。
上午也在社区中找了对应的数据源文章来看,总体是设置两个dao,那么操作的时候,需要同时dao1.insert();dao2.insert()吗?感觉不太现实,也不太方便。
现在想了解的是,nutz是否支持从扩展Dao的层面,来实现双写双查,或者有其他的解决方案,多谢。

5 回复

要不, 做个ProxyDao 实现 Dao接口?

@wendal 可以,我也想着这样来做,然后在这个Dao实现中,同时执行两个dao实例的操作,nutz中可以加载自定义的Dao实现吧?

也就是dao.js的配置问题

public class ProxyDao impl Dao {
    private Dao dao1;
    private Dao dao2;
}

dao.js

var ioc = {
     dao : {
         type : "xxx.yyy.zzz.ProxyDao",
         fields : {
                dao1 : {refer:"dao1"},
                dao2 : {refer:"dao2"},
        }
    },
    dao1 : ...,
    dao2 : ...
}

大概是这样

@wendal 明白了,我试下,多谢。

添加回复
请先登陆
回到顶部