锁定老帖子 主题:连接池控制多个数据源
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (2)
|
|
---|---|
作者 | 正文 |
发表时间:2009-07-16
xieke 写道 非常简单,搞个全局静态变量 DB_NO,缺省为0,
系统启动时,把几个连接池都载入,放到 DBPool[] 数组中, getConnection() 方法 中, 根据DB_NO ,返回相应连接池 DBPool[DB_NO] 的 connection, 系统运行时可以动态改变DB_NO,动态切换数据库。 至于切换策略,根据你的系统实际情况自己编写。 我暂时是这样实现的,切换策略的话也比较简单 条件1:当数据源1获取不到connection时 条件2:当数据源1忙碌的时候,C3P0有API可以做到获取当前数据源的忙碌用户数和空闲connection数 条件3:当数据源1挂了的时候,抛出异常那么获取数据源2 只是这个也有一个问题,如果在切换1和2的这段时间,有request进来,会不会出现异常情况呢。 这个间隔时间,如果出现异常,则考虑重试request机制,虽然用户等久点,但是不会出现错误。 |
|
返回顶楼 | |
发表时间:2009-07-16
81261686 写道 我做过同一个应用里面使用spring根据域名切换四十个不同的数据源,楼主的方法应该可行。只是在切换条件上要好好考虑。
关于切换条件,这位仁兄有没有一些建议。我现在怕是遗漏。 不知道能不能指点一二啊。 |
|
返回顶楼 | |
发表时间:2009-07-16
oracle的rac加数据源配置即可
|
|
返回顶楼 | |
发表时间:2009-07-16
codger 写道 oracle的rac加数据源配置即可
我知道可以,但是上面不用我也没办法啊。 哎…… |
|
返回顶楼 | |
发表时间:2009-07-16
这个我刚看到了 在blogjava中
有一篇文章,不过他不是用连接池 可以参考一下 http://www.blogjava.net/youxia/archive/2009/07/15/286916.html 在SpringSide 3 中使用多个数据库的方法 |
|
返回顶楼 | |
发表时间:2009-07-17
Weblogic 有multiple datasource 的概念,所以用Weblogic 的datasource 就能满足你的要求。看看其他开源的datasource是否有类似的实现。
|
|
返回顶楼 | |
发表时间:2009-07-17
使用LVS
|
|
返回顶楼 | |
发表时间:2009-07-17
你的应用场景没必要这样做
|
|
返回顶楼 | |
发表时间:2009-07-21
双机冷备,HA吧。
想好就要投入啊。 赛的VCS不错。 |
|
返回顶楼 | |