Назад | Перейти на главную страницу

Пул соединений JCA в Wildfly, как получить текущее состояние пула

У меня есть Wildfly 9, и один из наших пулов подключений адаптера ресурсов JCA заполняется, поэтому больше нельзя запрашивать подключения.

Насколько я могу судить сейчас, это ожидаемая нагрузка, и я нигде не теряю соединения (но я продолжаю исследовать это). Поэтому мне нужно выяснить, насколько большим должен быть пул и как его увеличить.

Для этого мне нужен запрос командной строки, который запрашивает информацию о пуле у запущенного экземпляра wildfly.

Проблема, которую я исследую, проявляется в этом сообщении об ошибке:

javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/eis/MyResourceAdapter
    at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:646)
    at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:552)
    at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:737)
    [... omitted deployment specific calls ...]
Caused by: javax.resource.ResourceException: IJ000655: No managed connections available within configured blocking timeout (30000 [ms])
    at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:553)
    at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:622)
    at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:594)
    at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:579)

Примечание: если кто-то с достаточными привилегиями создаст и добавит теги wildfly и / или wildfly9, это будет приветствоваться.

На сервере в папке bin попробуйте запустить:

./jboss-cli.sh
connect
/subsystem=jca:read-resource(include-runtime=true,recursive=true)

Итак, запустите клиент, запустите соединение, а затем вставьте третью строку, включая /

Я не слишком много возился с Wildfly, но я думаю, что это может сработать, это работает с JBoss.