JBoss/WildFly连接池和关闭连接

问题描述:

我有一些在JBoss 4.2.2,JBoss 5.1和WildFly 8.1.0上运行的应用程序。所有这些应用程序都使用连接池。我的数据源是这样的:JBoss/WildFly连接池和关闭连接

<datasource jta="false" jndi-name="java:/datasource/myawesomeds" pool-name="MyAwesomeDS" enabled="true" use-ccm="false"> 
    <connection-url>jdbc:oracle:thin:@myserver.example.com:1521:oracle_service</connection-url> 
    <driver-class>oracle.jdbc.OracleDriver</driver-class> 
    <driver>ojdbc6.jar</driver> 
    <security> 
     <user-name>username</user-name> 
     <password>MyPassWord</password> 
    </security> 
    <validation> 
     <validate-on-match>false</validate-on-match> 
     <background-validation>false</background-validation> 
    </validation> 
    <statement> 
     <share-prepared-statements>false</share-prepared-statements> 
    </statement> 
</datasource> 

如您所见,我使用Oracle数据库。服务器版本是10g。当Oracle数据库关闭几分钟,我的所有应用程序在JBoss和WildFly上开始显示SQLException: Closed Connection.

我的问题:这是正常的吗?为什么JBoss和WildFly不检查连接来验证?

+0

这是正常的。一些池支持连接验证。我相信可以做连接验证检查。 – 2014-10-02 12:59:34

是的,这是正常的。

然而,您可以定义wildfly/jboss在从连接池中获取连接时应验证连接。你所有的连接都是无效的,所以如果你定义了应该存在的最小数量的连接,通常它应该为你创建一个新的连接。

+0

为了验证我的连接,我想我需要设置true在'background-validation' – 2014-10-02 15:44:54

+0

它为我工作通过启用匹配验证选择,以及'background-validation'和'Check Valid Sql' – Apostolos 2016-09-19 12:17:19