|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Best node to use instead of FlowOrder node |
« View previous topic :: View next topic » |
Author |
Message
|
ethirajesh |
Posted: Tue Jul 19, 2011 9:55 pm Post subject: Best node to use instead of FlowOrder node |
|
|
Apprentice
Joined: 04 Oct 2010 Posts: 46
|
I have Common logger message flow which is called as a Subflow from Main flow at four different points. I have FlowOrder node which first transfers the message to logger component and transfers the same message to the service thru second terminal.
But my client dont want the message to wait until the logger component process the message, instead they need the message to flow to both the logger component and the service. I have put Compute node and connected the same out terminal to both these
flow/component. But It is not propagating any message to logger component, not sure what is the problem.
Is there any much better way to accomplish the task.
Thanks |
|
Back to top |
|
 |
WGerstma |
Posted: Tue Jul 19, 2011 10:09 pm Post subject: |
|
|
Acolyte
Joined: 18 Jul 2011 Posts: 55
|
If both your logger and the business service are connected at the same terminal, the message will surely be passed along the path, but you have no control, which path is choosen first.
But definitley, one path will be completed, before the other starts. There is no possibility known to me to process simultanously in two paths.
If business service is such critical (for what reason, extremly performance critical? Is the performance of your logging component so poor that it influences total transaction time?), than put the business service path to first and the logger to second. But this will yield weird results as than the last of your 4 loggers is processed first. |
|
Back to top |
|
 |
mqsiuser |
Posted: Wed Jul 20, 2011 12:11 am Post subject: Decouple logging from the (actual) flow |
|
|
 Yatiri
Joined: 15 Apr 2008 Posts: 637 Location: Germany
|
If you can't wait for the logger to process the message, then you might want to put your (logging-)subflow into a separate (real) flow.
Just wire the first out-terminal of you FlowOrder-Node to an MQOutputNode ("LOGGER.IN") and set the (new) logger-flow to pick up the messages from the configured queue. The Logger will then work decoupled from your preexisting (actual) flow.
I have created a solution like that:
Very likely you want to do some (minor) transformation within your (actual) flow before putting the (logging-)message to "LOGGING.IN". Then you might create (in your case keep) the subflow (change/reduce it a bit, extend it with an MQOutputNode and create the according Queue) and then create the second flow, which does the main work, e.g. a DB-Access).
I have also additionally changed the following properties of the MQOutputNode "LOGGING.IN" in the (actual) flow (or the *new* logging-subflow):
Advanced -> "Transaction Mode" = "Automatic" --> "No" (Logging might/should be decoupled from the transaction of the flow)
Advanced -> "New message ID" = unchecked --> checked! (You create a new separate "logging" msg)
Advanced -> "Message context" = "Pass All" --> "Set All" |
|
Back to top |
|
 |
paintpot |
Posted: Wed Jul 20, 2011 1:00 am Post subject: |
|
|
Centurion
Joined: 19 Sep 2005 Posts: 112 Location: UK
|
You can also use events, outside synch points - this is fast. An asynch logging process can then log to file if you wish.
Note that typical java logging framworks pride themselves on the low impact of their use on performance - maybe your framework can be replaced with one of them, if it is non-standard / homegrown.
Have you proven the performance is bad, or is it just a 'feeling' - can it be tuned? Have you got a setting wrong? Do you actually match/exceed the customer's business SLAs anyway, and therefore you are throwing your money away.
Hours of fun  |
|
Back to top |
|
 |
mqsiuser |
Posted: Wed Jul 20, 2011 1:07 am Post subject: |
|
|
 Yatiri
Joined: 15 Apr 2008 Posts: 637 Location: Germany
|
paintpot wrote: |
Hours of fun  |
Yes... logging and error handling is a main/core feature of a Broker-Platform and ideally is done in a generic way (usable for all or at least a lot of flows).
This should not be done quick and dirty and usually takes up quite some time. _________________ Just use REFERENCEs |
|
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
|
|
|
|