Java JBoss JDBC警告-“;“无法填充池”;

Java JBoss JDBC警告-“;“无法填充池”;,java,oracle,jdbc,jboss,Java,Oracle,Jdbc,Jboss,我们从JBoss收到这个随机警告。。知道为什么吗 当没有活动线程时,它会随机发生。当任何处理恢复时,一切都正常 13:49:31,764 WARN [JBossManagedConnectionPool] [ ] Unable to fill pool org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Listen

我们从JBoss收到这个随机警告。。知道为什么吗

当没有活动线程时,它会随机发生。当任何处理恢复时,一切都正常

13:49:31,764 WARN  [JBossManagedConnectionPool] [ ] Unable to fill pool
org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Listener ref
used the connection with the following error:
ORA-12516, TNS:listener could not find available handler with matching protocol stack
The Connection descriptor used by the client was:
//localhost:1521/orcl
)
        at org.jboss.resource.adapter.jdbc.xa.XAManagedConnectionFactory.createManagedConnection(XAManagedConnectionFactory.java
:144)
        at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConne
ctionPool.java:577)
        at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.fillToMin(InternalManagedConnectionPool.java:524)
        at org.jboss.resource.connectionmanager.PoolFiller.run(PoolFiller.java:74)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12516, TNS:listener could not find available handler with matching protocol stack
The Connection descriptor used by the client was:
//localhost:1521/orcl

更新:根据richj的帖子,以下是我们使用的四个数据源之一的格式:

  <xa-datasource>
        <jndi-name>ABCOracleDS</jndi-name>
        <track-connection-by-tx/>
        <isSameRM-override-value>false</isSameRM-override-value>
        <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
        <xa-datasource-property name="URL">jdbc:oracle:thin:@//localhost:1521/orcl</xa-datasource-property>
        <xa-datasource-property name="User">myuser</xa-datasource-property>
        <xa-datasource-property name="Password">mypw</xa-datasource-property>
        <min-pool-size>20</min-pool-size>
        <max-pool-size>200</max-pool-size>
        <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker
        </valid-connection-checker-class-name>
        <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
        </exception-sorter-class-name>
        <no-tx-separate-pools/>

        <metadata>
            <type-mapping>Oracle10g</type-mapping>
        </metadata>
    </xa-datasource> 

阿科拉克莱兹
假的
oracle.jdbc.xa.client.oraclexadasource
jdbc:oracle:thin:@//localhost:1521/orcl
我的用户
mypw
20
200
org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker
org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
Oracle10g
我认为问题可能出在数据源定义的某个地方。 JBoss热部署目录中是否有多个数据源定义? 您的数据源定义是否正确和完整,尤其是用于构建连接URL的属性

更新1

我不确定斜线,我想可能是URL:

jdbc:oracle:thin:@//localhost:1521/orcl
应该是这样的:

jdbc:oracle:thin:@localhost:1521:orcl
更新2

这里有一个支持斜杠语法的引用。
这里有一个引用,它支持冒号语法

也许即使砍杀是合法的,也值得一试

更新3

下面是“走投无路”技巧中的一些想法:

ORA-12516: TNS:listener could not find available handler with matching protocol stack
此消息看起来像是TNS配置问题。JDBC瘦驱动程序不应该需要TNS配置,但我发现有时候没有TNS配置它就无法工作


您也可以尝试使用完全限定的主机名,而不是localhost。有时machine.company.commachine本身不起作用的情况下工作。

带有堆栈跟踪的版本可能更有用。是的,我们使用了4个数据源。我将用其中一个更新帖子。另外,请注意,数据库/数据源功能都可以正常工作。。我们只是得到这些随机的警告/错误。这不是一个相关的/正确的答案。警告是随机的。否则,正在进行连接。如果URL错误,则无法建立连接,与数据库相关的内容也无法工作。我们还看到了这些随机的JBoss警告。将研究并找出真正的答案(DB是如何处理陈旧连接的)。
ORA-12516: TNS:listener could not find available handler with matching protocol stack