Custom Search SOABYTE here

Monday, November 8, 2010

What does the 'isTransacted' property do?

The isTransacted property controls the value that the JMS Adapter passes for the first argument of the javax.jms.Connection.createSession(boolean transacted, int acknowledgeMode) method. A value of true tells the JMS provider that we want to create a JMS "transacted session". A "transacted session" is a JMS only transaction whose scope is defined by the specification to only include operations on a particular JMS session. Using a JMS transacted session will prevent the adapter from participating in JTA (XA) transactions.
The JMS Adapter currently uses a different JMS session for every JMS Adapter "Partner Link" in a BPEL process (or ESB flow) so the scope of a transacted session with the JMS Adapter will only include a single JMS operation if the provider strictly follows the JMS spec. Therefore, it usually doesn't make sense to set isTransacted to true unless you are using a JMS provider that provides some other benefit when using transacted sessions even for a single JMS operation (e.g., a performance boost)


Post a Comment

Blogger Profile