on 05-09-2013 10:41 AM
Hi Experts,
We are facing a issue in JMS adapter. TIBCO EMS is sending data to PI through JMS adapter using queues. We are using two JNDI servers in sender JMS channel so that if one fails other will take care of the flow. But in case one of the server is failing , we are getting duplicate message received error.
How can we resolve this issue.
Hi Ashish,
I'm with Agasthuri on this one - this doesn't sound right at all - or at least it doesn't sound like a proper failover solution or at least not a 'hot' one. In a case like this - the failover needs to be almost realtime so that the 2 queues on both server's are almost identical at any given point in time.
So currently you switch over to the other server when one fails and start picking up messages that you have already processed.
How would you like to handle this in terms of the duplicate messages? Is it transaction sensitive data or are you able to re-process "already-processed" messages without any impact?
If so, you can manipulate how long the duplicate check is active for in the sender JMS channel (Time period for duplicate check setting)
http://help.sap.com/saphelp_nw73/helpdata/en/F4/2D6189F0E27A4894AD517961762DB7/frameset.htm
Alternatively, get Tibco to fix it because it's really their issue to fix.
>> After sending a message, if server failed without getting a response it marked the message as incomplete and other server send that message again. Due to that duplicate error message occurred.
This makes no sense to me. When PI polls the JMS queue and picks up a message successfully, it the removes the message from the queue so that it doesn't get processed again. What response is the Tibco server getting from your PI in your case that marks it as complete? Even if the server was regenerating a message (marked as incomplete) again, it would not generate it with the same message-id, it would be a new message-id.
Regards, Trevor
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ashish
>>> But in case one of the server is failing , we are getting duplicate message received error.
Strange.. Can you check the Message server side whether duplicate messages are created & can you share the adapter setting of the JNDI..
Cheers
Agasthur
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
To get rid of this error you have to remove the duplicate messageID from the database by going to table "XI_AF_SVC_ID_MAP" and delete the line according to the PI/JMS message id .
Second thing can be done is to bounce your sender application server.
Regards,
Ashish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ashish,
Thanks for your reply.
I want to permanently resolve this issue. It is caused due to EMS server failure on source side.
After sending a message, if server failed without getting a response it marked the message as incomplete and other server send that message again. Due to that duplicate error message occurred.
Does PI sends any response of receiving the message in case of JMS sender adapter ?
Can you sugggest any solution to that.
Thanks,
Ashish
User | Count |
---|---|
88 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.