in aggregate-dist/src/main/java/org/apache/camel/example/Application.java [107:136]
private void startCamel() {
try {
Main camel = new Main();
camel.configure().addRoutesBuilder(new RouteBuilder() {
@Override
public void configure() {
from("timer:foo?repeatCount=1&period=1")
.setExchangePattern(ExchangePattern.InOnly)
.bean(new MyProducerBean());
from("direct:aggregator")
.filter(body().isNotNull())
.aggregate().header(CID_HEADER)
.aggregationStrategy(Application.this::aggregationStrategy)
.completionPredicate(Application.this::completionPredicate)
.aggregationRepository(getAggregationRepository())
.optimisticLocking()
.log(LoggingLevel.INFO, "Result: ${body}");
}
});
camel.start();
LOG.debug("Camel started");
latch.await();
camel.stop();
LOG.debug("Camel stopped");
} catch (Exception e) {
LOG.error("Failed to start Camel: {}", e.getMessage());
}
}