首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动恢复Wildfly 8.2 for Oracle中的连接,而不使用匹配时验证

自动恢复Wildfly 8.2 for Oracle中的连接,而不使用匹配时验证
EN

Stack Overflow用户
提问于 2015-07-16 21:22:33
回答 1查看 2K关注 0票数 4

我正在使用wildfly 8.2和oracle 11g,如果可能的话,我让我的连接池刷新一个无效的连接并创建一个新的连接。我在后端也使用了Spring和Hibernate (我们正在通过JNDI查找连接)

我在网上找不到一个简洁的oracle池配置示例,所以我从各种来源抄袭了一些东西,并设法让它正常工作。

我的问题是。我将"Validate On Match“设置为true,但是Jboss文档(https://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/beta500/html/ch13s13.html)声明

代码语言:javascript
复制
<validate-on-match> - Prior to JBoss 4.0.5, connection validation occurred when the JCA layer attempted to match a managed connection. With the addition of <background-validation> this is no longer required. Specifying <validate-on-match> forces the old behavior. NOTE: this is typically NOT used in conjunction with <background-validation>

如果我能避免的话,我不想使用“旧行为”。谁有使用Oracle 11g Wildfly 8.2自动恢复连接池的示例。并使用ojdbc6驱动程序。

谢谢

顺便说一下,我当前的池设置如下(nb我知道我将池大小设置为1,这样我就可以轻松地终止会话并知道池恢复)。

代码语言:javascript
复制
 <datasource jta="true" jndi-name="java:/jboss/datasources/mydatabase" pool-name="mydatabase" enabled="true" use-ccm="true">
                    <connection-url>jdbc:oracle:thin:@localhost:1521:mydatabase</connection-url>
                    <driver-class>oracle.jdbc.OracleDriver</driver-class>
                    <driver>ojdbc6-11.1.0.7.0.jar</driver>
                    <pool>
                        <min-pool-size>1</min-pool-size>
                        <max-pool-size>1</max-pool-size>
                        <flush-strategy>FailingConnectionOnly</flush-strategy>
                    </pool>
                    <security>
                        <user-name>mydatabase</user-name>
                        <password>mydatabase</password>
                    </security>
                    <validation>
                        <check-valid-connection-sql>SELECT 1 FROM DUAL</check-valid-connection-sql>
                        <validate-on-match>true</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>
            </datasources>

为任何能提供帮助的人干杯

EN

回答 1

Stack Overflow用户

发布于 2015-08-20 22:21:09

尝试此validation节点:

代码语言:javascript
复制
<validation>
    <background-validation>true</background-validation>
    <background-validation-millis>200000</background-validation-millis>
    <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
</validation>

记住要调整background-validation-millis的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31455450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档