JBoss JDBC предупреждение - «Невозможно заполнить пул» - PullRequest
2 голосов
/ 05 апреля 2010

Мы получаем это случайное предупреждение от 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

Обновление : согласно сообщению Ричджа, вот формат одного из четырех источников данных, которые мы используем:

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

1 Ответ

1 голос
/ 05 апреля 2010
The Connection descriptor used by the client was:
//localhost:1521/orcl

Я думаю, что проблема, вероятно, где-то в определениях источника данных.У вас есть более одного определения источника данных в вашем каталоге горячего развертывания JBoss?Являются ли ваши определения источника данных правильными и полными, в частности, свойства, используемые для создания URL-адреса соединения?

Обновление 1

Я не уверен насчет косых черт, думаю, возможно,URL:

jdbc:oracle:thin:@//localhost:1521/orcl

должен выглядеть следующим образом:

jdbc:oracle:thin:@localhost:1521:orcl

Обновление 2

Вот ссылка с Oracle , который поддерживает синтаксис с косой чертой.
Вот ссылка Orafaq , которая поддерживает синтаксис с двоеточиями.

Возможно, стоит попробовать, даже если косая черта допустима?

Обновление 3

Еще несколько идей из «уловленного отчаянного» трюка:

ORA-12516: TNS:listener could not find available handler with matching protocol stack

Это сообщение похоже на конфигурацию TNSвопрос.Тонкому драйверу JDBC не требуется конфигурация TNS, но я обнаружил, что иногда он просто отказывается работать без него.

Вы также можете попробовать полное имя хоста вместо localhost .Иногда machine.company.com работает, когда machine сам по себе не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...