zwb_bobo
发贴: 1
积分: 0
|
于 2008-11-04 10:02
我的数据库采用的是SQL SERVER2005 MIRROR,3台机器: 主体服务器(192.168.1.11)、备机服务器(192.168.1.12)、见证服务器(192.168.1.13)。 经测试镜像完全OK。现在采用PROXOOL作为连接池。不知道如何配置,我看到网上有类似的配置,但是不正确。
我的proxool.xml配置如下: <?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>Mirror_DB</alias>
<driver-url>jdbc:sqlserver://192.168.0.11:1433;DatabaseName=TestMirror;failoverParnter= 192.168.0.12</driver-url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<driver-properties>
<property name="user" value="sa"/>
<property name="password" value="zzzz"/>
</driver-properties>
<minimum-connection-count>50</minimum-connection-count>
<maximum-connection-count>3000</maximum-connection-count>
<maximum-active-time>300000</maximum-active-time>
<house-keeping-sleep-time>30000</house-keeping-sleep-time>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</something-else-entirely>
我用的是TOMCAT 5.5.9,初始:主体服务器启动,备机启动,数据库连接正常。但当主体服务器发生故障(这里我停止SQL SERVER服务),见证服务器会自动将数据库转移到备机服务器。但是这里的TOMCAT就不能正常连接了。除非重新启动Tomcat。
这里感觉好像连接池不能自动刷新连接到新的备机服务器上。是不是PROXOOL不支持镜像?
我的数据库连接的方法如下: public final class DBUtil { public DBUtil() { try { Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); } catch (ClassNotFoundException e) { System.out.println("Can't find proxool.xml!"); } }
//从数据库连接池中取得一个数据库连接 public static synchronized Connection getConnection() { Connection conn=null; try { conn = DriverManager.getConnection("proxool.Mirror_DB"); System.out.println("Connnect"); } catch (SQLException se) { System.out.println("Can't connect principal database,Please Check Database is working!"); se.printStackTrace(); try { conn = DriverManager.getConnection("proxool.Mirror_DB"); } catch (Exception ex) { System.out.println("Can't connect mirror database,Please Check Database is working!"); //e.printStackTrace(); } } catch (Exception e){ e.printStackTrace(); } return conn; } }
谁有遇到过类似问题的,有解决的吗。大家帮帮忙。这个问题急!!!!
|