我有一个使用Wildfly数据源连接到Oracle DB的产品。
我们的数据库服务器每周安排一次冷备份,因此,数据库每周将关闭约10分钟。然后,在数据库启动后,我被迫重新启动应用程序。

在启动数据库后,如何配置Wildfly数据源以检查并重新连接?

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的正确设置

最佳答案

使用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>

10-06 13:55
查看更多