Aggregation
Because the CommonBaseEvent carries the priority value that is used to populate the MQMD priority field,
the way that events are aggregated by the event API and processed by the event processing flow was modified.
This change was needed because when FTM aggregates events of the same type into one
event, it has only one priority value. The structure of currently aggregated events is of the following
form:
E_MpInTxnMapped
__NULL__:CHARACTER:BATCH
__NULL__:CHARACTER:TXN_CLASS
_PAYMENT_ORIGINATION:CHARACTER:TXN_TYPE
X_TRANSACTION_TRANSMISSION
CtxNames
CHARACTER:TRANSACTION
CHARACTER:TRANSMISSION
contextValue:CHARACTER:2384001
contextValue:CHARACTER:2384000
severity:CHARACTER:10
priority:CHARACTER:30
sourceComponent:CHARACTER:MTToISFMapperIn
this situation, all the aggregated events share the priority, which is 30. But sharing the priority might not
be correct because some E_MpInTxnMapped events might have a different priority than others in
the aggregation. To avoid this issue, the priority is used as the top branch in the aggregation algorithm
instead of the name of the event. As a result, events of the same type and same priority are aggregated
together.After the changes were made to aggregation, the new structure of the aggregated events is shown in the
following
example.
E_MpInTxnMapped
3 (Priority)
__NULL__:CHARACTER:BATCH
__NULL__:CHARACTER:TXN_CLASS
_PAYMENT_ORIGINATION:CHARACTER:TXN_TYPE
X_TRANSACTION_TRANSMISSION
CtxNames
CHARACTER:TRANSACTION
CHARACTER:TRANSMISSION
contextValue:CHARACTER:2384001
contextValue:CHARACTER:2384000
severity:CHARACTER:10
priority:CHARACTER:30
sourceComponent:CHARACTER:MTToISFMapperNow,
all of the aggregated events under the 3 in this structure, are put onto the event queue with an MQMD priority
of 3.Note: The priority value under which the events are aggregated is the IBM® MQ value
instead of the CommonBaseEvent priority value. The IBM MQ priority value is used so that
aggregation can occur optimally, based on how the events render to the IBM MQ queue. On
the output of the event processing flow, the CommonBaseEvent value is mapped onto the MQMD range. But,
aggregating under the MQMD priority provides a better chance of aggregating more events together due to its
smaller range, which helps to improve performance and efficiency within later units of work.