|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Providing asynchronous delay in putting message |
« View previous topic :: View next topic » |
Author |
Message
|
Shikha Gupta |
Posted: Mon Mar 08, 2010 11:30 pm Post subject: Providing asynchronous delay in putting message |
|
|
Apprentice
Joined: 18 May 2009 Posts: 27
|
Hi
The requirement is to provide an asynchronous delay in putting message to a queue
like if I put 10 transactions in queue INPUT, then all 10 should appear after exactly 10 secs delay on queue OUTPUT.
not like , first transactions gets 10 sec delay and other waits for 10 sec resulting in 10+10 =20 sec delay in putting the message.
Basicaally, the delay in one transaction should not affect the other.
I tried using Timer node, but i think it would be sysnchronous and will wait untill the delay time of first transaction is over
Can somebody please help me on which node I should use, or what approach to go about? |
|
Back to top |
|
 |
elvis_gn |
Posted: Mon Mar 08, 2010 11:53 pm Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Moved to correct forum,
Hi Shikha Gupta,
Firstly, kindly post in the right forum.
Coming to your question. It does not make sense to expect a flow to take exactly 10 secs...the time taken will depend on how simple/complex the flow is, and how performant the partner systems are. So you could take 1 sec to process a msg, or take 100 seconds too.
To pick all requests immediately, you need to use the feature "Additional Instances", look it up in the documentation.
Regards. |
|
Back to top |
|
 |
Shikha Gupta |
Posted: Tue Mar 09, 2010 12:04 am Post subject: |
|
|
Apprentice
Joined: 18 May 2009 Posts: 27
|
hi
thanks for the input.
But my requirement is very simple, take up the message1 from a queue INPUT, then after 10 secs just put it in the output queue OUTPUT, in between this, there are no nodes. I just want my further processing(starting from OUTPUT queue) to postpone by 10 secs.
Besides that , i need, the message2 to be processed, in completely independent manner, it shud no wait for 10 sec tht i provided for message1. |
|
Back to top |
|
 |
elvis_gn |
Posted: Tue Mar 09, 2010 12:14 am Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi Shikha Gupta,
What you need is achievable but its definitely not a good practice. Middleware is not a temporary pause, store and respond solution. Messages need to keep moving in and out AS FAST AS POSSIBLE.
You can achieve the 10 sec delay by using Time nodes.
You can achieve the ONLY 10 sec for every message by picking all messages as soon as they arrive. For which you need multiple instances of the same flow running.
Again, this is not a good practice. Ask your architect for his reasons to implement a slow business.
Regards. |
|
Back to top |
|
 |
zpat |
Posted: Tue Mar 09, 2010 12:54 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
MQinput
MQoutput
Loop until queue empty
MQget
MQoutput
End Loop
Timer delay
End flow
Make all MQ nodes transaction=yes and messages will appear when the flow ends. Flow will start on first message arrival and then clear queue (or count for 10 if you prefer). |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|