Я пытаюсь настроить свое веб-приложение следующим образом: 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>