2

我正在尝试像这样配置我的 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&amp;autoReconnect=true&amp;autoReconnectForPools=true&amp;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>
4

0 回答 0