|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Best Practices for Triggered Application Design |
« View previous topic :: View next topic » |
Author |
Message
|
dotjas |
Posted: Fri Nov 15, 2002 9:13 am Post subject: Best Practices for Triggered Application Design |
|
|
Novice
Joined: 28 Apr 2002 Posts: 14 Location: Madison, WI
|
We are currently designing a Java/JMS application that will be triggered by MQ and need to know the best practices with regards to handling messages that cause exceptions.
Basic Processing Cycle:
Once the application is triggered, it will take each message, parse the XML, and update the database. Repeating until all messages have been processed. It will wait and try again for certain scenarios (as identified below) and throw messages that cause exceptions into a "Problem Queue", then keep processing.
What we have done:
All exception scenarios have been identified and we have divided them into two groups;
1. Scenarios that the application should wait and try to process the message again (e.g. database is down).
2. Scenarios that we will send the message to a "Problem Queue" and perform recovery on these messages at a later time (e.g. XML did not parse successfully, causing an exception when updating the database, etc.).
Background:
a.) Messages must be processed in FIFO order with exception of those that went to the "Problem Queue".
b.) We are using the "First" option for triggering (perhaps with a Wait Interval).
c.) Message volume is estimated to be between 1,000 - 3,000 per day.
The Question:
Is this the best design practice(s) to use for a triggered application?
I've searched through the site, but cannot find anything that is close. Any Input?  _________________ Jim Schuchardt
Principal Consultant
MQ Certified Specialist |
|
Back to top |
|
 |
nimconsult |
Posted: Sun Nov 17, 2002 11:32 pm Post subject: |
|
|
 Master
Joined: 22 May 2002 Posts: 268 Location: NIMCONSULT - Belgium
|
This sounds like a correct design.
* I would recommend you to read the application programming guide where IBM explains under which condition you can rely on FIFO processing of messages.
* Run under syncpoint (with transaction coordination with the DB) if you perform DB updates based on MQ message contents.
* I would also recommend opening the queue in input exclusive mode to ensure processing by a unique process (because you work FIFO)
( for some more details on this point read my comments on thread http://www.mqseries.net/phpBB2/viewtopic.php?t=6296 )
Nicolas _________________ Nicolas Maréchal
Senior Architect - Partner
NIMCONSULT Software Architecture Services (Belgium)
http://www.nimconsult.be |
|
Back to top |
|
 |
dotjas |
Posted: Mon Nov 18, 2002 12:12 pm Post subject: |
|
|
Novice
Joined: 28 Apr 2002 Posts: 14 Location: Madison, WI
|
Thanks for the Help! I really appreciate it!!!! _________________ Jim Schuchardt
Principal Consultant
MQ Certified Specialist |
|
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
|
|
|
|