Hi,
According to me there can be 2 reasons behind this:
1. The SMSC is sending messages again and again.
2. The transaction timer that you might have set using following may be inappropriate:
Long DEFAULT_TRANSACTIONTIMER = 2000L;
session.setTransactionTimer(DEFAULT_TRANSACTIONTIMER);
In 2nd case what happens is that when you receive a message from SMSC you might be doing some long processing that may cause your application not sending acknowledgement back to SMSC (this happens internally using some private methods that we do not have control) and SMSC resending the messages. Try increasing the transaction timer at your end and ask SMSC vendor wether they are getting acknowledgement back.
You need to ask SMSC why they are sending same messages again and again.
As per your mail I do not see you have done anything wrong from your side.
Thanks and Regards,
Vikash Anand.
--
Thanks and Regards,
Vikash Anand.