Доза BoneCP (библиотека пула JDBC) поддерживает автоматическое переподключение в случае перезапуска сервера БД? Если так, как настроить это весной

Я использую пул соединений BoneCP JDBC в своем приложении, основанном на Spring. Интересно, будет ли он автоматически переподключаться к серверу БД в случае перезапуска сервера БД. На официальном веб-сайте BoneCP я не нашел никакой документации по такой поддержке. Я нашел его файл конфигурации по умолчанию "bonecp-default-config.xml" на странице концентратора Git, как упоминалось ниже

<!-- Sets the number of ms to wait before attempting to obtain a connection 
again after a failure. -->
        <property name="acquireRetryDelayInMs">7000</property>

<!-- After attempting to acquire a connection and failing, try to connect these many times before giving up. Default 5. -->
        <property name="acquireRetryAttempts">5</property>

С этой конфигурацией, кажется, поддерживается автоматическое переподключение, но не пользователь, а поведение и способы использования этих свойств в конфигурационном файле Spring.

Моя весенняя конфигурация как ниже

<bean id="refDBDatasource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">
        <property name="driverClass" value="${jdbc.driverClassName}" />
        <property name="jdbcUrl" value="${refdb.jdbc.url}" />
        <property name="username" value="${refdb.jdbc.username}" />
        <property name="password" value="#{T(com.dhl.gcdb.dte.util.SecurityUtil).decriptPWD('${refdb.jdbc.password}')}" />
        <property name="idleConnectionTestPeriodInMinutes" value="#{T(com.dhl.gcdb.dte.util.CommonUtil).convertToInt('${refdb.idle.connection.test.period.in.minutes}')}" />
        <property name="idleMaxAgeInMinutes" value="#{T(com.dhl.gcdb.dte.util.CommonUtil).convertToInt('${refdb.idle.max.age.in.minutes}')}" />
        <property name="maxConnectionsPerPartition" value="#{T(com.dhl.gcdb.dte.util.CommonUtil).convertToInt('${refdb.max.connections.per.partition}')}" />
        <property name="minConnectionsPerPartition" value="#{T(com.dhl.gcdb.dte.util.CommonUtil).convertToInt('${refdb.min.connections.per.partition}')}" />
        <property name="partitionCount" value="#{T(com.dhl.gcdb.dte.util.CommonUtil).convertToInt('${refdb.partition.count}')}" />
        <property name="acquireIncrement" value="#{T(com.dhl.gcdb.dte.util.CommonUtil).convertToInt('${refdb.acquire.increment}')}" />
        <property name="statementsCacheSize" value="#{T(com.dhl.gcdb.dte.util.CommonUtil).convertToInt('${refdb.statements.cache.size}')}" />

    </bean>

Здесь мои более конкретные вопросы

  1. Будет ли поддерживаться автоматическое переподключение или нет
  2. Если поддерживает, как установить эти свойства весной
  3. Если поддерживает, как он себя ведет

    3.1. Будет ли он повторяться до времени получения RetryAttempts, с задержкой на приобретение RetryDelayInM между каждой попыткой?

    3.2. Как он ведет себя, когда полный цикл попыток приобретения не удается? будет ли он оставаться активным и будет пытаться снова получить Соединения в ответ на будущие запросы на Соединения?

Заранее спасибо.

0 ответов

Другие вопросы по тегам