At one point in our latest project using Apache Camel, I wanted to stop a message from being further processed depending on a condition. This is quite easy to do with the route builder, for example:
1 2 3 4 5 |
from("direct:example") .choice() .when(header("someheader").isEqualTo("bla")) .stop() .end() |
If you already know that a message needs to be stopped right away in a Processor or a AggregationStrategy, there is an easy way to signal this without a seperate “stop-branch” in the route. You simply set the header ROUTE_STOP to TRUE like this:
1 2 3 4 |
if (....) { // stop here original.setProperty(Exchange.ROUTE_STOP, Boolean.TRUE); return original; } |
And the message will not be further processed.
Reposts