Удаленная очередь JMS Weblogic к локальной транзакции JMS очереди XA. XAER_PROTO - PullRequest
0 голосов
/ 29 октября 2018

у нас есть поток, при котором mdb на weblogic 10.3.5 прослушивает удаленную очередь jms (tibco), выполняет некоторую обработку, а затем отбрасывает другое сообщение в локальной очереди jlo weblogic, в одной транзакции, управляемой контейнером.

Недавно мы обновили weblogic 10.3.2 до 10.3.5 и начали сталкиваться с новой проблемой при попытке отправить сообщение в локальную очередь (с помощью Spring jmstemplate). мы получаем XAER_PROTO: подпрограмма была вызвана в неподходящем контексте

Удивительно, что XAResource, выдавший это исключение, является ресурсом Tibco.

javax.transaction.xa.XAException в com.tibco.tibjms.TibjmsXAResource.start (TibjmsXAResource.java:199) at weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource.start (неизвестный источник) на weblogic.transaction.internal.XAServerResourceInfo.start (XAServerResourceInfo.java:1231) на weblogic.transaction.internal.XAServerResourceInfo.xaStart (XAServerResourceInfo.java:1164) в weblogic.transaction.internal.XAServerResourceInfo.enlist (XAServerResourceInfo.java:285) в weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic (XAServerResourceInfo.java:184) at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources (ServerTransactionImpl.java:1580) at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest (ServerTransactionManagerImpl.java:565) на weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest (DispatcherServerRef.java:132) на weblogic.messaging.dispatcher.DispatcherServerRef.access $ 000 (DispatcherServerRef.java:34) на weblogic.messaging.dispatcher.DispatcherServerRef $ 2.run (DispatcherServerRef.java:111) на weblogic.work.ExecuteThread.execute (ExecuteThread.java:209) at weblogic.work.ExecuteThread.run (ExecuteThread.java:178)

После дальнейшего исследования (декомпиляции кода Tibco) ресурс Tibco XA сгенерирует это, когда решит, что транзакция уже существует.

Почему weblogic привлекает этот ресурс XA и вызывает start () при попытке отправить сообщение в локальную очередь jms?

Эта проблема не возникала раньше, только в 10.3.5.

Буду признателен за любую помощь.

...