hi, I just went through the implementation of the distributed JMS transaction implementation of JMS transport sender and came across the following observations. First JMS transport sender check for JTA JMS transaction using the message context property "UserTransaction" ( JMSMessageSender.java:177) and this property is set at the JMSMessageReceiver (JMSMessageReceiver.java:192), which actually pass from the run method in ServiceTaskManager. According to my understanding we are using the same transaction in JMSSender (pass as a msg_ctx property) created in JMS listener. I think there is a problem in this approach, because if we do not initialize the userTransaction in the listener but if we plan to use a userTransaction in the sender side we may not acquire a userTransaction. I think what sender should do is to use an already available userTransaction or create a one and participate in the distribute transaction if not. Is my understanding is correct? WDYT ?
Rajika