Proxool 连接SQL SERVER 2005镜像,如何设置?
我的数据库采用的是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;
}
}
谁有遇到过类似问题的,有解决的吗。大家帮帮忙。这个问题急!!!!
我发过两个帖,还是没有回复啊。哪位大神帮帮忙吧。