Java JBoss/WildFly连接池和关闭的连接

Java JBoss/WildFly连接池和关闭的连接,java,oracle,jboss,connection-pooling,wildfly,Java,Oracle,Jboss,Connection Pooling,Wildfly,我有一些应用程序运行在JBoss4.2.2、JBoss5.1和WildFly 8.1.0上。所有这些应用程序都使用连接池。我的数据源是这样的: <datasource jta="false" jndi-name="java:/datasource/myawesomeds" pool-name="MyAwesomeDS" enabled="true" use-ccm="false"> <connection-url>jdbc:oracle:thin:@myserve

我有一些应用程序运行在JBoss4.2.2、JBoss5.1和WildFly 8.1.0上。所有这些应用程序都使用连接池。我的数据源是这样的:

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

jdbc:oracle:thin:@myserver.example.com:1521:oracle\u服务
oracle.jdbc.OracleDriver
ojdbc6.jar
用户名
我的密码
假的
假的
假的
如您所见,我使用Oracle数据库。服务器版本是10g。当Oracle DB宕机几分钟后,JBoss和WildFly上的所有应用程序开始显示
SQLException:Closed Connection.

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

是的,这是正常的


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

这是正常的。一些池支持连接验证。我相信可以进行连接验证检查。要验证我的连接,我想我需要在
后台验证中设置true
通过启用
匹配验证
选项,它对我有效,除了
后台验证
检查有效Sql
@Apostolos之外,我应该在检查有效Sql中写入什么?