JMS Synchronous HTTP to JMS Invocation Error Handling

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

JMS Synchronous HTTP to JMS Invocation Error Handling

Isuru Haththotuwa
Hi,

How should we do $subject [1]? AFAIU there are two possible alternatives:
  1. Use JMS local transactions [2].
  2. Use retrying and moving to DLC if a failure occurrs [3]

IMHO the best option is to use option #2. Since this is a synchronous invocation, and the client is waiting for a reply, it does not make sense to rollback.

WDYT?

_______________________________________________
Dev mailing list
[hidden email]
http://wso2.org/cgi-bin/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: JMS Synchronous HTTP to JMS Invocation Error Handling

Isuru Haththotuwa
[+= Pamod]

On Tue, May 2, 2017 at 1:54 PM, Isuru Haththotuwa <[hidden email]> wrote:
Hi,

How should we do $subject [1]? AFAIU there are two possible alternatives:
  1. Use JMS local transactions [2].
  2. Use retrying and moving to DLC if a failure occurrs [3]

IMHO the best option is to use option #2. Since this is a synchronous invocation, and the client is waiting for a reply, it does not make sense to rollback.

WDYT?



--
Thanks and Regards,

Isuru H.
+94 716 358 048



_______________________________________________
Dev mailing list
[hidden email]
http://wso2.org/cgi-bin/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: JMS Synchronous HTTP to JMS Invocation Error Handling

Pamod Sylvester
Hi Isuru,

When using dual channel JMS. AFAIK how it internally works in the ESB is, 

 1. The incoming http message will be published to broker via JMS sender 
 2. When publishing the message will be given a Correlation id 
 3. ESB will create a temporary subscription to the reply JMS queue with the selector condition to filter out the co-relation id  

Errors could occur during any of the steps mentioned above.

In order to handle them you could use the following, 

 - In order to prevent the error occurs in step #1 (when message is published) you need to use publisher transactions. (DLC will not be applicable for the messages which are being published)
 - For #3 you could go with the options you mentioned, however the message will be sent to the DLC, when the number of retry counts breaches upon JMS subscription sending a reject. So you need to use Client-Acknowledgment mode 

Thanks,
Pamod

On Tue, May 2, 2017 at 2:40 PM, Isuru Haththotuwa <[hidden email]> wrote:
[+= Pamod]

On Tue, May 2, 2017 at 1:54 PM, Isuru Haththotuwa <[hidden email]> wrote:
Hi,

How should we do $subject [1]? AFAIU there are two possible alternatives:
  1. Use JMS local transactions [2].
  2. Use retrying and moving to DLC if a failure occurrs [3]

IMHO the best option is to use option #2. Since this is a synchronous invocation, and the client is waiting for a reply, it does not make sense to rollback.

WDYT?



--
Thanks and Regards,

Isuru H.
<a href="tel:071%20635%208048" value="+94716358048" target="_blank">+94 716 358 048





--
Pamod Sylvester 
WSO2 Inc.; http://wso2.com
cell: +94 77 7779495

_______________________________________________
Dev mailing list
[hidden email]
http://wso2.org/cgi-bin/mailman/listinfo/dev