cancel
Showing results for 
Search instead for 
Did you mean: 

Duplicate message error in JMS adapter

ashish_goel4
Active Participant
0 Kudos

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.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

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

agasthuri_doss
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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

ashish_goel4
Active Participant
0 Kudos

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