|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Logical Grouping/Segmentation question |
« View previous topic :: View next topic » |
Author |
Message
|
TonyD |
Posted: Wed Dec 14, 2005 3:52 pm Post subject: Logical Grouping/Segmentation question |
|
|
Knight
Joined: 15 May 2001 Posts: 540 Location: New Zealand
|
We have an application that needs to segment a large message that it sends to the broker. They wish to use the MQPMO_LOGICAL_ORDER PMO, specify the msgflags, and let MQ set the offsets, groupid etc. The expectation is that the complete reconstructed message will be output from the MQInput node in the receiving message flow.
I have a small flow that writes 5 * messages, that simulate five segments of a logical message, to a broker input queue. The necessary MQMD fields have been populated as per the LOGICAL_ORDER option and I have confirmed that the flags etc. are represented correctly. However the MQInput node is not reading the message(s). I am assuming that this is because the broker does not allow MQGMO_COMPLETE_MESSAGE to be specified. The 'Logical Order' and 'All Messages Available' options are set.
I have successfully implemented the alternative of creating the segments as messages in a logical group and reconstructing the original message in the receiving flow. However I would like to be sure that the COMPLETE_MESSAGE option is not supported in WBIMB. in order to avoid the need for the flow itself to reassemble the message. Can anyone confirm this? |
|
Back to top |
|
 |
elvis_gn |
Posted: Wed Dec 14, 2005 8:41 pm Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi TonyD,
Check this out. Maybe its what u want.
Quote: |
Configuring the node to handle message groups
WebSphere MQ supports message groups; you can specify that a message belongs to a group and that its processing and the processing of all other messages in the group must be handled as one transaction. That is, if the processing of one message in the group fails, all messages in the group are backed out. The message processing is committed when the last message in the group has been processed successfully only if processing of all messages has been successful.
If you include messages in a group, and it is important that all of the messages within the group are read from the queue and processed in the order in which they are defined in the group, you must complete all the actions stated below:
Select the Commit by Message Group check box.
Select the Logical Order check box.
Set the Order Mode to By Queue Order or set the message flow property Additional Instances to 0. (You can modify message flow properties when you add the message flow to the bar file for deployment.) If you choose either of these options (or both), the message flow processes the messages on a single thread of execution, and a message is processed to completion before the next message is retrieved from the queue. In all other cases, it is possible that multiple threads within a single message flow are processing multiple messages, and there is no guarantee that the final message in a group, which prompts the commit or roll back action, is processed to completion after all other messages in the group.
You must also ensure that you do not have another message flow that is retrieving messages from the same input queue. If you do, there is no guarantee about the order in which the messages within a group are processed.
If you have multiple message flows, or instances of the same message flow, that access the same queue, you might see one or more of these symptoms:
Messages are not retrieved in queue order in all message flow threads (or instances).
Messages are not processed in queue order in all message flow threads.
Not all messages are retrieved from the queue in all message flow threads (that is, messages are shared across threads).
Updated MQ resources are either committed or rolled back at incorrect times in all message flow threads. |
Regards. |
|
Back to top |
|
 |
TonyD |
Posted: Thu Dec 15, 2005 11:47 am Post subject: |
|
|
Knight
Joined: 15 May 2001 Posts: 540 Location: New Zealand
|
Thanks Elvis but:
Quote: |
I have successfully implemented the alternative of creating the segments as messages in a logical group and reconstructing the original message in the receiving flow.
|
:is implementing message grouping. I need the MQInput node to handle segmented grouped messages. |
|
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
|
|
|
|