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)
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)
0 comments:
Post a Comment