on 07-08-2015 8:31 AM
Hello All,
I'm in a very tough situation now. I had stopped a channel on 11th of June and without realizing I had kept it in that state till now. Now I have to restart the channel but the problem is the messages will get resent automatically and I don't want that to happen. Because, the receiver wants the messages in the same order as they were supposed to reach them.
So, the requirement now is to make sure that the messages don't get resent automatically the moment I restart the channel and then I can resend the messages date wise. Kindly suggest a solution as this has happened in Production envt.
The receiver channel is a JDBC channel and PI version is PI7.3 SP12.
Thanks,
Ajeya G V
Hello All,
Sorry for the delay in posting the solution for this.
What I did was, I changed the receiver address in the receiver channel so that when that channel is turned on, all the messages go into error status. Once all the messages have gone into error status (this will be due to a different error category), change the address back to the correct one in the channel. Even after performing that, the messages did not get triggered automatically and I selected the messages datewise and started resending the messages.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi all,
I was wondering if you can identify all the messages, you can cancel them. Later you can go to DB and mark all those register like not taken. Then your sender JDBC will take the registers in the original order, depending of your SELECT obviously.
I usually do a second scenario, only for me and because i usually don't havent access with a SQL client, to change the status flag in the table. In this way, if there is any problem, i can reactivate the register.
Regards.
Hi Vaani,
Production environment right?
What is the Retention Period for Messages?
Synchronous r Asynchronous?
Based on retention period the messages will be deleted.
I think all the messages not in queue.
If you start the channel all the messages goes to receiver in same order based on Time Stamp I think.
Anything you want to do, Just replicate the same thing(same situation) in lower environment and test it.
Thanks & Regards,
Vishnu Pallamreddy.
Hi Ajeya,
If the messages are stuck, they should be in the smq1 or smq2 transaction. If you delete the messages from there and later you cancel the messages from the monitoring.
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Could anyone please reply to this ? Now the requirement is to disable automatic resending of messages. Any input is appreciated.
-Ajeya
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ajeya,
If the message is stuck in sender chanel, you can stop the message from moving to the JDBC receiver by capturing it in PI Integration engine.
For this you can give any condition in XPath in receiver determination which will be a false one, i.e., this condition should not match with any of the payloads. Then restart the sender channel, the messages will flow and get stuck in SXMB_MONI t-code of IE.
And then I hope accordingly you can manage.
Dont forget to remove the false condition in receiver determination once the ENTIRE ISSUE IS FIXED.
If you need any further help, kindly let me know.
Kind Regards,
Souvik
Hi Souvik,
Thanks for the reply. The situation is not that the sender channel was stopped. The receiver channel was stopped and the message has already gone through the mapping program and is ready to be delivered to the receiver endpoint. The log says that the message will be delivered once the receiver channel is restarted. Kindly suggest if anything can be done for this or not.
We just have to make sure that the no automatic processing happens when I restart the stopped receiver channel.
Thanks,
Ajeya G V
Hi Ajeya,
Then in that case, in your JDBC receiver channel, in advanced mode, please choose "Transaction Isolation Level".
Over there choose "serializable" as the JDBC constant.
This will then route the messages to the JDBC endpoint receiver as per the timestamp.
Please Note : Since this is production environment, my suggestion will be to test in QA and then move to production.
Kind Regards,
Souvik
User | Count |
---|---|
98 | |
11 | |
11 | |
10 | |
10 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.