On 07/03/2008, psheehan <[EMAIL PROTECTED]> wrote: > > Currently I'm working on a few different prototypes for a large project and > Camel is been used in one of these prototypes.
Great stuff > Is there anyway in Camel (1.3.0RC2) to provide you own implementation for a > AggregationCollection? Not currently. So as a workaround you can kinda short-cut the DSL a bit... from(something).process(new Aggregator(myAggregatorCollection)).to(something); Though its a bit smelly ;) we need a cleaner way. So I've just patched the code so that you can do from(something).aggregator(myAggregatorCollection).to(something). Hopefully that can sneak into the full 1.3.0 release... > I've created an AggregationStrategy that is backed > by a persisted collection based off the same correlation id used by the > aggregator. Great stuff! Fancy submitting it by any chance? We love contributions... http://activemq.apache.org/camel/contributing.html We've a pending JIRA on this... https://issues.apache.org/activemq/browse/CAMEL-217 > I've tested this for fail over and all is working fine except > for when a crash occurs before I receive the last message or after I receive > the first message. > When the last message is received after a crash then my > AggregationStrategy is never called because oldExchange is on longer in > memory:- > > if (oldExchange != null) { > newExchange = aggregationStrategy.aggregate(oldExchange, > newExchange); > } > > Likewise my first message is never persisted because the oldExchange was > never in memory! (Note that i'm not acually persisting the full message > just the parts of the body I need). > > In fact you could agure that AggregationCollection is doing to much work in > keeping onto the old message. Wanna submit the code and we can try fix it up together? Am a tad confused why this isn't working; as shouldn't it always persist some message? -- James ------- http://macstrac.blogspot.com/ Open Source Integration http://open.iona.com
