This page contains information on:
The PostitCreate and PostitApply nodes are co-operating nodes that together are responsible for the processing of a virtual postit. For those not familiar with the term, a postit is a piece of paper (the original ones were yellow in colour) on which notes can be written. It is sticky-backed, enabling it to be attached to most surfaces.)The PostitCreate node is responsible for creating a virtual postit by copying data from the input message into memory. The configuration of the PostitCreate node determines from which syntax tree element in the message the data will be copied from. The resulting postit exists in memory and is available to be applied to a new message based on matching criteria specified by a PostitApply node.
The PostitCreate node has one input terminal called in and three output terminals, out, noDataCopied and failure. When a message is received in the input terminal, the node extracts both the MsgId and CorrelId values and locates the syntax element from which to copy the postit data. The data is copied from the input message and a new postit is created containing this data. The postit is added to the global postit chain (the chain is visible to all Message Flows within the the Execution Group) and is indexed by both the MsgId and CorrelId values. The input message is then propagated unchanged to the out terminal. If the specified syntax element cannot be found within the input message, or no data is copied from the element, the message is propagated to the noDataCopied terminal. All other errors result in the message being propagated to the failure terminal and a message logged to the MQSI V2 message log.
in | The input terminal that accepts a message for processing by the node. |
out | The output terminal to which the message is propagated if a message is added to the flow. |
noDataCopied | The output terminal to which the message is propagated if either the syntax element cannot be located, or it contains no data. |
failure | The output terminal to which the message is propagated if an error is encountered while attempting to propagate the new message. |
Property | Default | Description |
PostitName | Additional value used to identify the postit. The value enables a PostitApply node to restrict matching postits to those created with a specified name. This is useful in situations where it is required to save and restore multiple data items from a single message, e.g. ReplyToQ and ReplyToQMgr. In this case, two separate PostitCreate nodes could be used, one to save the queue name and the other to save the queue manager name. Subsequently, two PostitApply nodes would be used to restore the values. To associate each PostitCreate node with its corresponding PostitApply node, the PostitName property would be used, for example 'saveRTQ' and 'saveRTQM' might reasonable values. | |
CopyDataFrom | Specifies the name of the syntax element within the message from which the stored postit data should be copied. The name can specify a simple data value, e.g. Root.MQMD.ReplyToQ, or it can refer to a sub-tree within the message, e.g. Root.MQMD. The name must be either 'Root' or it must begin with 'Root.'. | |
TimeoutSeconds | 0 | Specifies the lifetime (in seconds) of the postit. A value of 0 indicates an INFINITE lifetime, i.e. the postit will never timeout. If a non-zero value is specified, an alarm is set to the timeout value and, if the postit still exists when the timer expires, it is automatically deleted. It is suggested that a timeout be specified in situations where it is possible that a match may not occur in order to avoid unwanted postits accumulating in memory. |
NumberOfApplications | 1 | Specifies the maximum number of times the postit can be matched to a message in a PostitApply node. This can be thought of as the number of copies of the postit created. When the number of copies is exhausted, the postit is removed from memory. |
Click on the Advanced tab and (optionally) modify the scope of the postit.
PostitScope | Execution Group | The value set for this property determines the scope of the postit
instance. It can take 3 possible values
|
(C) IBM Corporation 2001. All Rights Reserved