According to the spec, if session transacted, the session should be
committed/ rollback. But in our code we set isTransacted flag to true only
if transport.jms.SessionTransacted is set, but not when the acknowledge
mode is set to SESSION_TRANSACTED, and therefore session commit/rollback
happens only when transport.jms.SessionTransacted is set [1]. Do we have to
change that logic to commit/rollback when the acknowledge mode is set to
SESSION_TRANSACTED also?

[1]
https://github.com/wso2/carbon-mediation/blob/master/components/inbound-endpoints/org.wso2.carbon.inbound.endpoint/src/main/java/org/wso2/carbon/inbound/endpoint/protocol/jms/JMSPollingConsumer.java#L236




On Wed, Jan 3, 2018 at 11:00 AM, Asanka Abeyweera <asank...@wso2.com> wrote:

> Hi Heshitha,
>
> There are two methods we can use to create a transacted session in JMS,
>
>    1. createSession(boolean transacted, int acknowledgeMode)- you can set
>    the transacted parameter to true to create a transacted session.
>    Acknowledge mode is ignored when the transacted parameter is set to true.
>    2. createSession(int sessionMode) - you can use SESSION_TRANSACTED as
>    acknowledge mode to create a transacted session. AFAIK this method is
>    only vailable in JMS 2.
>
> You can use either of the methods depending on the JMS version used and
> the behaviuor should be similar.
>
> On Wed, Jan 3, 2018 at 10:06 AM, Heshitha Hettihewa <heshit...@wso2.com>
> wrote:
>
>> Hi,
>>
>> Inside JMS inbound endpoint code base there is a ack mode for
>> SESSION_TRANSACTED [1] as well as transport.jms.SessionTransacted
>> property[2]. In JMS specs(in 1.0, 1.1 and 2.0) SESSION_TRANSACTED ack mode
>> is not defined. But this is used in Java JMS api [3]. Are these two methods
>> used for the same purpose?. Or is there any difference?.
>>
>> [1]. https://github.com/wso2/carbon-mediation/blob/master/compone
>> nts/inbound-endpoints/org.wso2.carbon.inbound.endpoint/
>> src/main/java/org/wso2/carbon/inbound/endpoint/protocol/jms/
>> factory/JMSConnectionFactory.java#L155
>> [2]. https://github.com/wso2/carbon-mediation/blob/master/compone
>> nts/inbound-endpoints/org.wso2.carbon.inbound.endpoint/
>> src/main/java/org/wso2/carbon/inbound/endpoint/protocol/jms/
>> factory/JMSConnectionFactory.java#L138
>> [3]. https://docs.oracle.com/javaee/7/api/javax/jms/Session.html#
>> SESSION_TRANSACTED
>>
>> Thanks,
>> Heshitha.
>> --
>> Heshitha Hettihewa
>> *Software Engineer*
>> Mobile : +94716866386
>> <%2B94%20%280%29%20773%20451194>
>> heshit...@wso2.com
>>
>
>
>
> --
> Asanka Abeyweera
> Associate Technical Lead
> WSO2 Inc.
>
> Phone: +94 712228648 <+94%2071%20222%208648>
> Blog: a5anka.github.io
>
> <https://wso2.com/signature>
>



-- 
Best Regards..

Chanika Geeganage
+94773522586
WSO2, Inc.; http://wso2.com
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to