Author |
Message
|
shashivarungupta |
Posted: Thu Dec 22, 2016 4:33 pm Post subject: Application Messages Replay ? |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Hi,
What would be the best solution (using WMB Application) to replay the application messages, stored in a Q2 (Retry Queue), after 'n' hours, by placing them back into Q1 (Input Queue)?
Appreciate your suggestions.
WMB v8.
WMQ v7.
Windows/RHLinux.
Thanks. _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
smdavies99 |
Posted: Thu Dec 22, 2016 11:38 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
1) Upgrade to a supported set of Software
2) Don't store the messages in a Queue. A DB table is far more flexible.
MQ Queues are not a substitute Datastore.
3) Use a timer process to regularly select the records due for replay and pull them out of the DB Table and send them to the Queue. Don't forget to delete the messages from the queue.
Once constructed, you will have a valuable set of components for your toolbox to reused over and over again. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
Vitor |
Posted: Fri Dec 23, 2016 5:24 am Post subject: Re: Application Messages Replay ? |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
shashivarungupta wrote: |
What would be the best solution (using WMB Application) |
The best solution would be not to use a WMB Application. That's a lot of overhead for something this simple. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Dec 28, 2016 1:40 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Tell the sending application to handle the replay. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
shashivarungupta |
Posted: Wed Dec 28, 2016 5:37 pm Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
mqjeff wrote: |
Tell the sending application to handle the replay. |
It could have been a solution but it's not always that the sender application will do the retry.
What if sender application is an automated application or a batch process or an application that sends the request messages as fire and forget method, all of these applications are using async communication.
Anyways.. it's not about who is actual sender, it's about how to make sure that messages are being delivered to the target application and retry (whenever it is available or timely retry), since middleware (here WMB/WMQ) is in the picture, finding the best solution using these would be a good idea. I believe business applications (actual sender and/or target applications) should focus on their business solutions.
Vitor wrote: |
The best solution would be not to use a WMB Application. That's a lot of overhead for something this simple. |
It will be an overhead on Broker, if value of 'n' is very small, that would keep the broker application busy to transfer messages from one queue to another after every timeout interval (Built-in Timeout Nodes). What if value of 'n' is more than 12 or 20 hours ?
Thanks for your suggestions.
 _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Dec 29, 2016 6:27 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
I suggested the sender application because I was assuming it was the business team/sending application development team that wanted the retry - particularly the long retry.
If it's a middleware requirement, then, yes, middleware should handle it.
For that long a retry, then using a database is really the best bet. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
|