1
2
3
4
5
6
7 package org.mule.example.loanbroker.routers;
8
9 import org.mule.api.MuleContext;
10 import org.mule.api.MuleEvent;
11 import org.mule.routing.AbstractAggregator;
12 import org.mule.routing.AggregationException;
13 import org.mule.routing.EventGroup;
14 import org.mule.routing.correlation.CollectionCorrelatorCallback;
15 import org.mule.routing.correlation.EventCorrelatorCallback;
16
17
18
19
20
21 public class BankQuotesResponseAggregator extends AbstractAggregator
22 {
23 @Override
24 protected EventCorrelatorCallback getCorrelatorCallback(MuleContext muleContext)
25 {
26 return new CollectionCorrelatorCallback(muleContext)
27 {
28 @Override
29 public MuleEvent aggregateEvents(EventGroup events) throws AggregationException
30 {
31 try
32 {
33 return BankQuotesAggregationLogic.aggregateEvents(events);
34 }
35 catch (Exception e)
36 {
37 throw new AggregationException(events, null, e);
38 }
39 }
40 };
41 }
42 }