??不是阿,那是resin里的resin.conf文件阿,就是一些配置参数的设置。晕倒

解决方案 »

  1.   

    yangzuyu12(秋天的童话) :这样行不通,因为我们的系统是通用的,在这个市是分局是A、B、C,可能另外一个市,分局就是E、F、G、H、I了,不确定craks():每个分局的数据库可能在单独的服务器上,也可能是几个分局在一个服务器上,都是不确定的
      

  2.   

    完整的部门树结构应该是这样的单位名称 数据库 DataSource 所在应用服务器
    某市局   db_0   jdbc/test  192.168.1.0
    A分局    db_1   jdbc/test1 192.168.1.1
    A1所     同上    同上      同上 
    A2所     同上    同上      同上 
    .... 
    An所     同上    同上      同上
    B分局    db_2   jdbc/test2 192.168.1.2 
    B1所     同上    同上      同上 
    B2所     同上    同上      同上 
    .... 
    Bn所     同上    同上      同上
    C分局    db_3   jdbc/test3 192.168.1.3
    D分局    db_4   jdbc/test4 192.168.1.4
    E分局    db_5   jdbc/test5 192.168.1.5所以,如果当查询的单位恰好是几个相同的DS相邻的话,我可以在循环所有被查单位的时候,
    如果当前DS和上一个单位的DS没变化,我可以不用DbFactory.cleanDS(); 继续使用
    同一DS资源(static),直到DS变化时,才cleanDS。有朋友这样建议我:
    你这个DataSource声明为static已经没有任何意义.应该声明一个static HashMap,然后for循环生成ds,hm.put("jdbc/test1",ds);
    然后取的时候根本"jdbc/test1"得到ds,如果是空的话重新生成再put进去.
    虽然ds不是static的,但因为hm是static的,只要原来put的时候不空,可以保证多个用户从hm得到的ds是同一ds.象你这样,虽然ds是static的,但实际每次都重新查找重新赋值,仅仅句柄是static的.原来查找的ds根本没有被缓存下来,没有任何意义.