6 Replies Latest reply on May 19, 2010 4:57 AM by s.g.mackenzie

    Aggregator, transaction support, and guaranteed delivery

      Our scenario demands a form of aggregation of some messages, for which we've created a custom action based on the JBoss Aggregator implementation.  The current Aggregator implementation uses a shared memory space to build a list of messages and releases them once a threshold or timeout is reached.  Meanwhile each message that comes in - except the last in a batch - has its action pipeline terminated.  Please let me know if my understanding or terminology is wrong or unclear.

       

      This presents two problems for us:

      1) A transaction cannot be formed around the entirety of each end-to-end message delivery, since for most messages the pipeline terminates prematurely; and

      2) If the system fails with messages sitting in the shared memory space, they will be lost.

       

      Can anyone comment on these issues?  Am I missing something? Are there plans to change the Aggregator implementation?  Can anyone offer a proven solution to these issues?  I have worked out a couple of workarounds but neither are that appealing as they introduce a good deal of complexity.  In any case I will outline them here later on.

       

      Cheers
      Steve