Processors, Beans, Transformers, Predicates, and Data Flow Control
Learn how Camel changes and inspects data inside routes using processors, beans, expressions, and predicates.
Inside this chapter
- Processors as Custom Logic Steps
- Beans and Method Invocation
- Predicates and Conditions
- Why These Concepts Matter
Series navigation
Study the chapters in order for the clearest path from Camel basics to advanced route design and production operations. Use the navigation at the bottom of each page to move through the full series.
Processors as Custom Logic Steps
A processor is a Java unit that reads and modifies the Exchange. It is often used when route behavior needs custom logic beyond simple endpoint chaining.
from("direct:start")
.process(exchange -> {
String body = exchange.getIn().getBody(String.class);
exchange.getIn().setBody(body.toUpperCase());
})
.to("mock:result"); Beans and Method Invocation
Camel can invoke regular Java beans as part of route processing. This is useful when business logic should remain in dedicated classes rather than anonymous inline processors.
Predicates and Conditions
Predicates allow Camel to make routing decisions based on message content, headers, or other context. They are the basis for many EIPs such as filters and content-based routers.
Why These Concepts Matter
Once routes become more than simple transport pipes, they need inspection, transformation, and decision-making. Processors, beans, and predicates are how Camel supports that cleanly.