Glassfish Async JMS JCA

Достаточно интересное и недокументированное поведение Glassfish v.2.0.

Если в потоке вызова endpointActivation(...) в реализации Resource Adapter’a вызвать метод consumer.setMessageListener(...) то потоки асинхронного получения сообщения не создадутся. С чем это связано - неизвестно. Исходные коды не смотрел. Возможно с требованиями спецификации о создании потоков через WorkManager. Но разработчик не контролирует создания потоков в JMS клиенте!

Решение:

  • Создать инициализацию message listener’a в отдельном потоке через WorkManager.