Skip to Content
Author's profile photo Anil Veepuri

Create your own Automatic Message Restart job on PI Java Stack (PI 7.3 EHP1)

So far, till we arrived at Java Single stack of PI, we have the luxury of scheduling most of the house keeping jobs on ABAP stack. One of the most important of those jobs is automatic message restarting. Let’s see how we can create our own Automatic Message Restart Job in PI (This blog is based on PI 7.3 EHP1, SP05).

To begin with, the default jobs that were provided on the AAE are

  1. Default Version Archive Job
  2. Default Delete Job
  3. Default Recover Job

Screenshot-1.jpg

Let’s consider a message that got failed (deliberately though) in the receiver file adapter. The message Id is ‘f1042b3f-b580-11e2-a376-000001ffb7ce‘.

Screenshot-2.jpg

Now, it’s time to create our own message restarting job. Go to Configuration and Monitoring Home -> Adapter Engine -> Background Job Processing Monitor -> Create Job . You will get the below screen.

Screenshot-3_1.jpg

In the Job Details tab, select the job type as Restart and fill the other attributes. The job name is given to be MyMsgRestartJob in this case. Move on to the Parameters tab.

Screenshot-4_1.jpg

In the drop down list, there are two options. Select MAX-RESTART and fill the parameter with the appropriate value.

Screenshot-5_1.jpg

Move on to the Rules tab.

Screenshot-99_1.jpg

Create a Rule Definition. This rule definition has various options. Few of them are Sender Component, Receiver Component, Interface, Interface Namespace etc. Based on the above combinations, you can create your own rule. This job restarts only those messages that are in NDLV state and that meet the rule created in this step.

Screenshot-6_1.jpg

Save and Activate the Job.

Screenshot-7.jpg

Now that our job is active, it will be executed in the next one hour (as per scheduled earlier). But, in order not to wait till the next run and at the same time to prove that the job works fine, we will execute the job manually by hitting the button Execute Now in the above image.

Execute the job and check the message log of the same message that we considered in the beginning.

Screenshot-8_1.jpg

Observe the time that we had executed our message restart job and the log version that shows that the “Message restart triggered by restart job: MyMsgRestartJob”.

Go ahead and create your own jobs… 🙂

Assigned Tags

      11 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hi,

      I have created the Automatic Message Restart job with my own user id by following the steps mentioned in your blog. But when I am clicking the Execute Now button nothing happens. Also the job is not getting executed automatically at mentioned intervals (say in every 1 hour). The status is showing 'Unknown' with no green box.

      Is there anything I am missing?

      Thanks,

      Rahul

      Author's profile photo Former Member
      Former Member

      Nice to know...

      ---Divyesh

      Author's profile photo Jochen Hätty
      Jochen Hätty

      Awesome, thank you very much for this article! 🙂

      Author's profile photo charan kumar
      charan kumar

      Nice Blog.

      Can we create a job to resend messages in holding status .??

      Author's profile photo Jochen Hätty
      Jochen Hätty

      Message in status "holding" will be re-send automatically.

      How often and how long that retries take place, is defined in the inbound communication channel of that specific scenario.

      Or are you referring to a different status?

      Author's profile photo charan kumar
      charan kumar

      H!,

      Thanks for reply.

      In my case messages are getting holding status even predecessor delivered successfully.Until re-send manually messages are not delivering. I want to create background job to resend holding messages.

      1) Is it possible to create background job to resend HOLD(Not System Error) message for particular channel?(without using EJB)

      2)I am using SOAP channel at receiver. How to configure inbound channel to resend holding messages.

      Thank you.

      Author's profile photo Xavier San Sebastián
      Xavier San Sebastián

      I'm in the same situation. I use Extended EOIO Error Handling and I don't know how to restart the holding messages. Trying to find a work around.

      Author's profile photo Mikhail Evlakhov
      Mikhail Evlakhov

      Hi!,
      Thanks you for this article!

      Author's profile photo Avinash Varma Nadimpalli
      Avinash Varma Nadimpalli

      Hi,

       

      Could you please tell me if there is a way to resend the cancelled messages in SAP PI 7.31

      My requirement: Messages getting cancelled in SAP PI 7.31 as the target system is down and i need to resend them manually.

       

      Thanks,

      Avinash.

      Author's profile photo Sampathi Geetha
      Sampathi Geetha

      Hi,

      Using the above blog there is any way to cancel the error messages for a particular interface in adapter engine.

      could you please suggest any solution for this.

      Author's profile photo Patrick Duchesneau
      Patrick Duchesneau

      Wonderful!

       

      Would you have similar for the MQMON housekeeping?