The aggregator isn't an aggregator of JMS messages. It's just an aggregator of messages (irrespective of transport), and it is generally used along with a splitter - where you split a message with a number of records into N number of messages, do some processing on each of N messages, and then aggregate all the record-messages back up when processing is complete. In 4.11, a new streaming aggregator has been introduced that takes the message sequence number (between 1 and the max message count) and a unique ID. An aggregation is released when the message count is sent to the aggregator along with the unique ID and all messages in the sequence have been received.
For you to get the aggregator to do what you want it to :
- you'd have to host the service containing it on a single node of your cluster
- you'd have to have some way of knowing which message in the CORRELATION-ID sequence each message is
- you'd have to at some point know the total number of messages in the aggregation
Check out the streaming_aggregator quickstart in 4.11 for more details.
Thanks Tom for your prompt reply.
However, if I were to host the service on a single node of my cluster, i would introduce a singe point of failure, not to mention a serialized process of aggegating messages. I am not too sure how much performance gain can be got vis-a-vis the singleton MDB approach that we have right now to read all the messages.
Thanks anyways -