Java DSL, XML DSL, RouteBuilder, and Configuration Basics
Learn how Camel routes are defined and how teams organize integration logic cleanly in real codebases.
Inside this chapter
- Java DSL and RouteBuilder
- XML DSL
- Choosing a Route Style
- Configuration Discipline
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.
Java DSL and RouteBuilder
One of the most common ways to define Camel routes is the Java DSL using RouteBuilder. This is popular because it keeps route logic expressive, type-friendly, and easy to organize inside Java applications.
public class OrderRoute extends RouteBuilder {
@Override
public void configure() {
from("direct:start")
.to("log:order")
.to("mock:result");
}
} XML DSL
Camel also supports XML configuration styles, especially in integration-heavy or legacy enterprise environments where configuration is externalized or combined with Spring XML ecosystems.
Choosing a Route Style
Java DSL is often preferred in modern codebases, while XML DSL may still appear in older enterprise stacks or specific platform setups. Strong developers should understand both well enough to read and maintain existing systems.
Configuration Discipline
As routes grow, clean organization matters. Teams should group related routes logically, externalize environment-specific endpoint values, and keep business logic separate from low-level configuration whenever possible.