Поиск JSDI в WebSphere в неуправляемых потоках

У меня есть приложение Java EE (на самом деле, это приложение Apache Camel), развернутое на WebSphere Application Server 7.

Мое приложение потребляет сервисные запросы от веб-сервисов (потоки, запускаемые из контейнера сервлета в WAS) и из очередей JMS (не SI-BUS, а WebSphere MQ, если это имеет значение). Для JMS-слушателя Camel (или, возможно, базовая среда Spring) инициирует собственные потоки (кажется, более или менее простые потоки Java) для обработки запросов JMS.

У меня также есть транзакционная база данных, прикрепленная к приложению. Итак, весной у меня есть что-то вроде этого, чтобы захватить менеджер транзакций (вероятно, встроенный в JTA WebSphere).

<tx:annotation-driven/>

Поэтому моя проблема в том, что я получаю такую ​​ошибку, когда Camel/JMS запускает событие в приложении:

org.apache.openjpa.persistence.PersistenceException: TransactionManager not found in JNDI under name java:comp/websphere/ExtendedJTATransaction

Похоже, что потоки, не инициированные самим контейнером, не могут правильно выполнять поиск JNDI. Есть ли способ обойти эту проблему?

0 ответов

Другие вопросы по тегам