java - 如果连接重新启动,则重新连接到数据库

标签 java jboss datasource

我有JBoss,并且我使用JNDI连接到数据库,但是当数据库重新启动时,我必须重新启动JBoss才能获取新的连接池,是否有任何属性可以进行重新连接?,请帮助

 <subsystem xmlns="urn:jboss:domain:datasources:1.2">
        <datasources>
            <datasource jta="false" jndi-name="java:jboss/datasources/ams" pool-name="OracleDS" enabled="true" use-ccm="false">
                <connection-url>jdbc:oracle:thin:@rhhqrac01scant:1521/testingenv</connection-url>
                <driver-class>oracle.jdbc.OracleDriver</driver-class>
                <driver>oracle</driver>
                <pool>
                    <min-pool-size>100</min-pool-size>
                    <max-pool-size>150</max-pool-size>
                    <prefill>true</prefill>
                    <flush-strategy>FailingConnectionOnly</flush-strategy>
                </pool>
                <security>
                    <user-name>ams</user-name>
                    <password>testpassword</password>
                </security>
                <validation>
                    <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
                    <validate-on-match>false</validate-on-match>
                    <background-validation>false</background-validation>
                </validation>
                <timeout>
                    <set-tx-query-timeout>false</set-tx-query-timeout>
                    <blocking-timeout-millis>0</blocking-timeout-millis>
                    <idle-timeout-minutes>0</idle-timeout-minutes>
                    <query-timeout>0</query-timeout>
                    <use-try-lock>0</use-try-lock>
                    <allocation-retry>0</allocation-retry>
                    <allocation-retry-wait-millis>0</allocation-retry-wait-millis>
                </timeout>
                <statement>
                    <share-prepared-statements>false</share-prepared-statements>
                </statement>
            </datasource>
            <drivers>
                <driver name="oracle" module="com.oracle.ojdbc6">
                    <xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
                </driver>
            </drivers>
        </datasources>
    </subsystem>

最佳答案

您可以将其添加到数据源标签下

<check-valid-connection-sql>select 1</check-valid-connection-sql>

关于java - 如果连接重新启动,则重新连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32931737/

相关文章:

java - 打印棋盘 - 代码编译但未输出我想要的内容

java - 如何 'send to back/front' 或者换句话说改变 'priority' 纹理?

java - SWT:应用程序退出前清理

JBoss 6 EJB教程.jar

jsf - 在 Servlet 2.4 容器上运行 JSF 2.0

java - 使用 Weblogic 配置数据源时出现 createSQLException 错误

java - 如何使用 jsoup 获取特定的 <div class...> ?

ssl - 具有主机名验证策略 = ANY 的 ldaps 的 Keycloak 信任库仍然失败 "No subject alternative names"匹配

c# - Winform 数据源更新

模板中的 Sitecore 数据源查询