When I use PollableJmsChannel, we were able to set transaction timeout/isolation/propagation using poller's transaction element. (JMS channel with messagedriven=false)
We are using a SubscribableJmsChannel (JMS channel with messagedriven=true) (for which I have configured transaction manager and also configured a task executor) I haven't seen a way to set transactional context at all (such as time out/isolation/propagation). We can only set receive time out on this type of channel.
SubscribableJmsChannel does use transaction manager to retrieve message from the queue; however, I am not sure whether the same transaction is going to be propagated to the handlers on the channel.
How are the transactions managed in this case?
What is the transactional context under which all the down stream handler are going run?
Will the send operation on the JMS queue participate in the same transaction as the downstream handlers?