我正在尝试像这样配置我的 Web 应用程序: 1 个 tomcat 服务器 2 个 mysql 数据库在主/主复制中用于故障转移目的。
我还成功地使用 c3p0 设置了一个池连接,从而避免为每个请求打开一个新的连接(当不涉及故障转移时)
我想使用 jdbc 连接器提供的故障转移支持,以便在第一个数据库不可用时将请求路由到第二个数据库。因此,我使用 jdbc 驱动程序的故障转移功能,只需提供额外的配置参数。
目前,当一个服务器不可用时,请求被路由到第二个可用服务器。但是,对于每个请求,我都面临数据库上新打开的连接的问题。
似乎将连接池和 jdbc 故障转移结合起来不起作用?
请咨询,也关于配置参数
<bean id="mydataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306,myOtherServer:3306/zeus?autoCommit=true&autoReconnect=true&autoReconnectForPools=true&failOverReadOnly=false"/>
<property name="user" value="root" />
<property name="password" value="root" />
<!-- these are C3P0 properties -->
<!-- property name="acquireIncrement" value="${acquireIncrement}" /_-->
<property name="minPoolSize" value="6" />
<property name="maxPoolSize" value="10" />
<property name="maxIdleTime" value="100" />
</bean>