Использует ли реализация Wildfy EJB одни и те же потоки для асинхронных и синхронных вызовов? - PullRequest
0 голосов
/ 30 ноября 2018

Я испытываю очень странную ситуацию на одном из наших серверов, работающих под управлением Wildfly 8.2.0.У нас есть веб-приложение, размещенное в той же версии jboss.Несколько его экземпляров подключаются к удаленным службам в экземпляре biz, который отвечает за бизнес-логику.Есть только 1 бизнес-экземпляр.Бизнес-экземпляр остановился, и, следовательно, все остальное.Анализируя с помощью jstack, я обнаружил, что все 200 потоков застряли в одном методе:

"EJB default - 173" #917 prio=5 os_prio=0 tid=0x00007fa5c0028000 nid=0x53c6 waiting on condition [0x00007fa58bc0e000]

(для потоков от 1 до 200).Однако все они застряли в том же методе, но метод помечен как @ Asynchronous

@Asynchronous
public void increaseOrderCount(final int orderId) { 

Отсюда мой вопрос.Возможно ли, что Wildfly повторно использует один и тот же пул потоков для синхронных и асинхронных вызовов?Я имею в виду, что это звучит как полный недостаток архитектуры, но это единственное объяснение того, почему нехватка потоков в асинхронном пуле также останавливает синхронные запросы.

Java 8, Wildfly 8.2.0 Final

...