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对象的内容,创建一个数据库的连接.代码添这里就可以.
     }
}