Instead of setting the retry count and interval on Business service in this case it is recommended to set the retry settings on the delivery failure tab of the queue.
Set Redelivery Delay Override and Redelivey limit.
Thanks for the response.
But my requirement is not to loose the message and preserve the incoming message order and send in the same order. So if I use
the JMS retry count and interval after trying for the specified number of times the message is either lost or routed to error destination
Even if I dequeue the message from Error destination and enqueue to the JMS listening Queue the ordering will be lost.
So as per the requirement I thought having retry mechanism at business service level is good. Please suggest if there is any other way for retry mechanism preserving message ordering (FIFO as per enqueue time stamp)
In this case disable the transaction n the proxy and remove the routing options. Disable the transaction on proxy service and remove QOS. Business service will then retry.
But i need the transaction on the Queue and Proxy service.
If there is any failure then i need to send the message back to the Queue that can be achived by only transactions.
Is there any other way?
So what is your requirement ?
In case of failure retry "n" times , then rollback the message to queue ?
Messages will be coming on to JMS Quueu. OSB Proxy service needs to pick up the message send over to BS (external).
1. In case if the external system is down or sends an error response retry n times and if it fails at the end roll back the message onto the Queue
2. Message ordering should be preserved on the queue. We need to send the messages in the same order as recieved.
Any suggestions on this?
I figured this out my self. For rety transaction and ordering to work instead of Exactly once in the routing options just speicfy Best Effort. That solves the issue.
Thanks for the suggestions.