连接多台服务器数据库,如遇超时或网络不通自动跳过连接下一台

来源:未知 责任编辑:智问网络 发表时间:2013-10-30 11:12 点击:
public class Controller{ 
     List dbiList = new LinkedList();//这是那200多个DBInfo对象的链表.自己想办法添进去.初始化的时候添一次就可以了. 
     //原来的doProccess方法 
      public void doProcess(final Object args){ 
          Proccessor p = new Processor({ 
               public void proccess(Connection con)throws SQLException{ 
                    //在这里面添加你要对数据库操作的内容.注意,这里最好是要封装成一个事务进行提交. 
                    //如果不想使用匿名内部类,可以自己编写一个有名称的实现类. 
               } 
          }); 
          doDBProccess(p); 
     } 
     private void doDBProccess(Proccessor p){ 
          for(Iterator itr = dbiList.iterator();itr.hasNext();){ 
               DBInfo info = (DBInfo)itr.next(); 
               Connection conn = getDBConnection(info); 
               try{ 
                    p.proccess(conn); 
                    return; 
               }catch(SQLException e){ 
                    continue; 
               } 
          } 
            noDBCanDO(p); 
     } 
     private void noDBCanDO(Proccessor p){ 
     //所有DB的连接都无法完成时,代码添这里就可以了. 
     } 
     private Connection getDBConnection(DBInfo info){ 
     //通过DBInfo对象的内容,创建一个数据库的连接.代码添这里就可以. 
     } 
}   

作者 疯狂程序员
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Request.ServerVariables 参数大全
    • 执行全文索引时出现权限不足的解决方法
    • 导入excel文件处理流程节点的解决方案
    • 查看sql修改痕迹(SQL Change Tracking on Table)
    • App数据层设计及云存储使用指南
    • PostgreSQL启动过程中的那些事三:加载GUC参数
    • MongoDB安装为Windows服务方法与注意事项
    • Percolator与分布式事务思考(二)
    • 写给MongoDB开发者的50条建议Tip1
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1