2016-07-20 1 views
0

У меня есть продукт, который использует источник данных Wildfly для подключения к Oracle DB. Наши серверы баз данных имеют запланированное недельное холодное резервное копирование, и по этой причине БД будет отключать каждую неделю в течение примерно 10 минут. Затем я вынужден перезапустить приложение после запуска БД.Подключиться к oracle db после перезапуска из источника данных Wildfly

Как настроить источник данных Wildfly для проверки и повторного подключения после запуска db?

версия Wildfly: wildfly-8.2.0.Final

конфигурации источника данных -

<datasource jndi-name="java:/REQUESTDS" pool-name="REQUESTDS" enabled="true"> 
        <connection-url>jdbc:oracle:thin:@localhost:1521:MYDB</connection-url> 
        <driver-class>oracle.jdbc.OracleDriver</driver-class> 
        <connection-property name="selectMethod"> 
         direct 
        </connection-property> 
        <connection-property name="sendStringParametersAsUnicode"> 
         true 
        </connection-property> 
        <driver>oracle-thin</driver> 
        <new-connection-sql>SELECT 1 FROM DUAL</new-connection-sql> 
        <pool> 
         <min-pool-size>20</min-pool-size> 
         <max-pool-size>80</max-pool-size> 
         <prefill>true</prefill> 
         <use-strict-min>true</use-strict-min> 
        </pool> 
        <security> 
         <security-domain>CompanySecureDataSource</security-domain> 
        </security> 
        <validation> 
         <validate-on-match>true</validate-on-match> 
        </validation> 
        <timeout> 
         <blocking-timeout-millis>90000</blocking-timeout-millis> 
         <allocation-retry>40</allocation-retry> 
         <allocation-retry-wait-millis>30000</allocation-retry-wait-millis> 
        </timeout> 
       </datasource> 

Я проверил мои темы здесь и пытался большинство из них. Но тщетно.

Что такое правильная установка, которая будет проверять и подключиться к Oracle DB

ответ

1

Использование background-validation и пул будет пытаться создавать новые соединения, если какой-либо один из них умирает.

   <validation> 
        <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql> 
        <validate-on-match>false</validate-on-match> 
        <background-validation>true</background-validation> 
        <background-validation-millis>20000</background-validation-millis> 
       </validation> 
+0

Это работает. Другая связанная проблема, которую я нашел, - это перейти на консоль jboss и внести туда изменения. Это не спасется. Поэтому мне пришлось открыть standalone-full.xml и добавить туда эти заявления. После перезагрузки он работает. Мой продукт может подключаться к БД. – Linus

 Смежные вопросы

  • Нет связанных вопросов^_^