gpt4 book ai didi

java - 在不使用匹配验证的情况下自动恢复 Wildfly 8.2 for Oracle 中的连接

转载 作者:搜寻专家 更新时间:2023-11-01 03:49:53 26 4
gpt4 key购买 nike

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

我无法在网上找到可以开始工作的 oracle 池配置的简明示例,所以我从各种来源抄袭一些东西并设法让它工作。

我的问题是这样的。我将“匹配时验证”设置为 true,但 Jboss 文档 ( https://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/beta500/html/ch13s13.html ) 指出

<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 驱动程序。

谢谢

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

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

为任何能提供帮助的人欢呼

最佳答案

试试这个验证节点:

<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的值。

关于java - 在不使用匹配验证的情况下自动恢复 Wildfly 8.2 for Oracle 中的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31455450/

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