On 06/27/14 22:46, Sven Bauhan wrote:
Hi,
I want to use a Synchronisation in a route with an Aggregator.
So I implemented the onCompletion() method of the Synchronisation to
send a response that the message was received correctly.
My problem is that the onCompletion() method is called for each
message segment, not only for the last one, when the Aggregator has
completed the combination of all segments.
The Aggregator::onCompletion() method is just called when the message
is complete. But this is too early, as the message is not yet received
then at the endpoint.
So I have to decide in Synchronization::onCompletion() if the message
in the Aggregator is complete. But I have no idea how I can do this.
Has someone an idea how I can solve this?
Thanks, Sven
Hi,
I already found the solution: I had to set the synchronisation point
behind the aggregator:
from(...)
.process(...)
.aggregate(...)
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
exchange.getUnitOfWork().addSynchronization(...);
.to(...);
Greetings, Sven