cancel
Showing results for 
Search instead for 
Did you mean: 

To Hold Messages in PI every time messages comes in Empty Dedicated Queue

Former Member
0 Kudos

Hi,

My requirement goes like this, i want to hold messages in a particular Queue of PI only when the queue is empty, i.e.

Consider 100 messages are triggered in bulk then before executing first message message, it should be held at queue level in PI for certain amount of time(e.g. 30 sec) and after 30 sec messages should be processed as normally i.e i don't want delay of 30 second for every message which can be achieved by Thread.sleep(30000).

So once the queue becomes empty and again the messages are triggered, again it should be held for 30 second.

Hope my requirement is clear.

Any suggestions for how can this be achieved will be appreciated.

Thanks in advance.

Regards,

Ankit.

Accepted Solutions (0)

Answers (1)

Answers (1)

iaki_vila
Active Contributor
0 Kudos

Hi Ankit,

Are you using own java coding to hold the messages?

You could try with the parameter messaging.system.queueParallelism.maxReceivers you can set a maximum threads for a communication channel, it's no the same what you want, but it's an approximation. (Properties Related to the Messaging System - PI (Process Integration) - SAP Library)

Regards.

Former Member
0 Kudos

Hi Inaki,

Yup I tried using own java code to halt the message at mapping step, but its not serving the purpose since it is happening to all the messages which would result is cascading effect.

I have gone through the link provided, but i am afraid its not gonna help, since i only want the delay for first message hitting the queue when the queue is empty and not for the subsequent messages.

Regards,

former_member184720
Active Contributor