Поиск 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. Есть ли способ обойти эту проблему?