On 7/28/06, nlif <[EMAIL PROTECTED]> wrote:

Thanks, Hiram.

I guess I need to take a step back then, and restate my question in a more
generalized form: how is it possible in a JMS-based architecture to
send/receive several seperate items, while ensuring atomicy of the group?
That is - it is ensured that ALL items of the group are received, and by the
SAME consumer.

At first, I thought using JMS transactions (both on the producer and on the
consumer side) will suffice, but then I realized in a cluster (or even a
multi-threaded single-node consumer) the group might get scattered among
several consumers.

ActiveMQ MessageGroups then came to the rescue - I am using an AMQ group, as
one would use a transaction, to ensure all items are delivered to the same
consumer (and the consumer will commit only after it has received all items
in the group).

However, now with the need to pass very large binary files, for which I must
use streams, it seems I am running out of options. Maybe it is time to
rethink the whole concept... so, is there another architecture for such a
requirement? Seems to me this is somewhat of a generic problem for any
messaging-based archiecture, and  I would think there is some
"design-pattern" solution for it. Is there?

You could always make the large files available someplace via a URI
and send them out of band then use JMS transactions as you were doing
before but pass URIs to the massive files rather than the files
themselves. Or split the files up into chunks.
--

James
-------
http://radio.weblogs.com/0112098/

Reply via email to