gpt4 book ai didi

java - 从 Wildfly 数据源重新启动后重新连接到 oracle db

转载 作者:行者123 更新时间:2023-12-01 09:40:36 25 4
gpt4 key购买 nike

我有一个使用 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>

关于java - 从 Wildfly 数据源重新启动后重新连接到 oracle db,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38483791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com