Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
147 changes: 85 additions & 62 deletions docs/main/modules/working-with-camel-core/pages/index.adoc
Original file line number Diff line number Diff line change
@@ -1,69 +1,92 @@
= Working with Camel Core


== Walk-troughs

1. xref:manual::walk-through-an-example.adoc[Example Walk-through 1]
2. xref:manual::walk-through-another-example.adoc[Example Walk-through 2]

== Routes

A Camel route is where the integration flow is defined. For example, you can write a Camel route to specify how two systems can be integrated. The following 2 guides provide the fundamental knowledge about Camel routes:

* xref:manual::routes.adoc[Routes]: the basic guide about Camel Routes.
* xref:manual::route-builder.adoc[Route Builder]: describes the base class from which you can create Routes.

If you have the basic knowledge about _routes_ you can use the following guides to learn how to write them in different languages, handle errors, and customize them.

* Routes (Basic + DSL)
** xref:manual::java-dsl.adoc[Java DSL]: the default language to write _routes_.
** xref:manual::dsl.adoc[DSL overview]: writing routes in other languages (XML, YAML, etc).

* Routes (Writing)
** xref:manual::expression.adoc[Expression]
** xref:manual::predicate.adoc[Predicate]

* Routes (Error Handling)
** xref:manual::exception-clause.adoc[Exception Clause]
** xref:manual::try-catch-finally.adoc[Try, Catch and Finally]

* Routes (Others)
** xref:manual::oncompletion.adoc[On Completion]
** xref:manual::Endpoint-dsl.adoc[Endpoint DSL]
** xref:manual::route-template.adoc[Route Template]
** xref:manual::using-propertyplaceholder.adoc[Using Property Placeholder]

== Other Guides

Learn about additional ways to customize your integrations. Explore alternatives to consume and produce data as well as writing and defining routes.

* xref:manual::component-dsl.adoc[Component DSL]
* xref:manual::dataformat-dsl.adoc[Data Format DSL]
* xref:manual::Endpoint-dsl.adoc[Endpoint DSL]
* xref:manual::language-dsl.adoc[Language DSL]
* xref:manual::dsl.adoc[DSL overview]
* xref:manual::java-dsl.adoc[Java DSL]
* xref:manual::camel-maven-archetypes.adoc[Camel Maven Archetypes]
* xref:manual::lifecycle.adoc[Camel Lifecycle]
* xref:manual::stream-caching.adoc[Stream caching]
* xref:manual::bean-binding.adoc[Bean Binding]
* xref:manual::bean-injection.adoc[Bean Injection]
* xref:manual::bean-integration.adoc[Bean Integration]
* xref:manual::advice-with.adoc[Advice With]
* xref:manual::camel-console.adoc[Camel Console]
* xref:manual::camelcontext.adoc[Camel Context]
* xref:manual::camelcontext-autoconfigure.adoc[Camel Context Auto Configuration]
* xref:manual::advanced-configuration-of-camelcontext-using-spring.adoc[Advanced Configuration of Camel Context]
* xref:manual::camel-maven-plugin.adoc[Camel Maven Plugin]
* xref:manual::camel-report-maven-plugin.adoc[Camel Report Maven Plugin]
* xref:manual::component.adoc[Component]
* xref:manual::consumertemplate.adoc[Consumer Template]
* xref:manual::producertemplate.adoc[Producer Template]
* xref:manual::pojo-consuming.adoc[POJO Consuming]
* xref:manual::pojo-producing.adoc[POJO Producing]
* xref:manual::error-handler.adoc[Error Handler]
* xref:manual::defaulterrorhandler.adoc[Default Error Handler]
* xref:manual::delay-interceptor.adoc[Delayer]
* xref:manual::configuring-route-startup-ordering-and-autostartup.adoc[Configuring Route Startup Ordering]
* xref:manual::endpoint.adoc[Endpoint]
* xref:manual::examples.adoc[Examples]
* xref:manual::exception-clause.adoc[Exception Clause]
* xref:manual::exchange.adoc[Exchange]
* xref:manual::exchange-pattern.adoc[Exchange Pattern]
* xref:manual::exchange-pooling.adoc[Exchange Pooling]
* xref:manual::expression.adoc[Expression]
* xref:manual::json.adoc[JSON Data Format]
* xref:manual::lambda-route-builder.adoc[Lambda Route Builder]
* xref:manual::languages.adoc[Languages]
* xref:manual::oncompletion.adoc[On Completion]
* xref:manual::parameter-binding-annotations.adoc[Parameter Binding Annotations]
* xref:manual::predicate.adoc[Predicate]
* xref:manual::processor.adoc[Processor]
* xref:manual::property-binding.adoc[Property Binding]
* xref:manual::registry.adoc[Registry]
* xref:manual::rest-dsl.adoc[Rest DSL]
* xref:manual::route-builder.adoc[Route Builder]
* xref:manual::route-configuration.adoc[Route Configuration]
* xref:manual::routes.adoc[Routes]
* xref:manual::route-template.adoc[Route Template]
* xref:manual::security.adoc[Security]
* xref:manual::service-registry.adoc[Service Registry]
* xref:manual::spring.adoc[Spring]
* xref:manual::spring-xml-extensions.adoc[Spring XML Extensions]
* xref:manual::try-catch-finally.adoc[Try, Catch and Finally]
* xref:manual::uris.adoc[URIs]
* xref:manual::using-exchange-pattern-annotations.adoc[Using Exchange Pattern Annotations]
* xref:manual::using-propertyplaceholder.adoc[Using Property Placeholder]
* xref:manual::validator.adoc[Validator]
* xref:manual::walk-through-an-example.adoc[Example Walk-through 1]
* xref:manual::walk-through-another-example.adoc[Example Walk-through 2]
* xref:manual::what-are-the-dependencies.adoc[Camel Requirements]
* xref:manual::testing.adoc[Testing]

* Components
** xref:manual::component-dsl.adoc[Component DSL]
** xref:manual::component.adoc[Component]
* Data Processing
** xref:manual::dataformat-dsl.adoc[Data Format DSL]
* Other
** xref:manual::language-dsl.adoc[Language DSL]
** xref:manual::camel-maven-archetypes.adoc[Camel Maven Archetypes]
** xref:manual::lifecycle.adoc[Camel Lifecycle]
** xref:manual::stream-caching.adoc[Stream caching]
** xref:manual::bean-binding.adoc[Bean Binding]
** xref:manual::bean-injection.adoc[Bean Injection]
** xref:manual::bean-integration.adoc[Bean Integration]
** xref:manual::advice-with.adoc[Advice With]
** xref:manual::camel-console.adoc[Camel Console]
** xref:manual::camelcontext.adoc[Camel Context]
** xref:manual::camelcontext-autoconfigure.adoc[Camel Context Auto Configuration]
** xref:manual::advanced-configuration-of-camelcontext-using-spring.adoc[Advanced Configuration of Camel Context]
** xref:manual::camel-maven-plugin.adoc[Camel Maven Plugin]
** xref:manual::camel-report-maven-plugin.adoc[Camel Report Maven Plugin]
** xref:manual::consumertemplate.adoc[Consumer Template]
** xref:manual::producertemplate.adoc[Producer Template]
** xref:manual::pojo-consuming.adoc[POJO Consuming]
** xref:manual::pojo-producing.adoc[POJO Producing]
** xref:manual::error-handler.adoc[Error Handler]
** xref:manual::defaulterrorhandler.adoc[Default Error Handler]
** xref:manual::delay-interceptor.adoc[Delayer]
** xref:manual::configuring-route-startup-ordering-and-autostartup.adoc[Configuring Route Startup Ordering]
** xref:manual::endpoint.adoc[Endpoint]
** xref:manual::examples.adoc[Examples]
** xref:manual::exchange.adoc[Exchange]
** xref:manual::exchange-pattern.adoc[Exchange Pattern]
** xref:manual::exchange-pooling.adoc[Exchange Pooling]
** xref:manual::json.adoc[JSON Data Format]
** xref:manual::languages.adoc[Languages]
** xref:manual::parameter-binding-annotations.adoc[Parameter Binding Annotations]
** xref:manual::processor.adoc[Processor]
** xref:manual::property-binding.adoc[Property Binding]
** xref:manual::registry.adoc[Registry]
** xref:manual::rest-dsl.adoc[Rest DSL]
** xref:manual::route-configuration.adoc[Route Configuration]
** xref:manual::security.adoc[Security]
** xref:manual::service-registry.adoc[Service Registry]
** xref:manual::spring.adoc[Spring]
** xref:manual::spring-xml-extensions.adoc[Spring XML Extensions]
** xref:manual::uris.adoc[URIs]
** xref:manual::using-exchange-pattern-annotations.adoc[Using Exchange Pattern Annotations]
** xref:manual::validator.adoc[Validator]
** xref:manual::what-are-the-dependencies.adoc[Camel Requirements]
** xref:manual::testing.adoc[Testing]

You can find additional documentation in the xref:manual::architecture.adoc[architecture documentation] in the old user manual.
5 changes: 5 additions & 0 deletions docs/user-manual/modules/ROOT/pages/java-dsl.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,8 @@ The first line in the above example creates an object which is an instance of an
The `CamelContext.addRoutes(RouterBuilder builder)` method invokes `builder.setContext(this)` – so the `RouteBuilder` object knows which `CamelContext` object it is associated with – and then invokes `builder.configure()`. The body of `configure()` invokes methods such as `from()`, `filter()`, `choice()`, `when()`, `isEqualTo()`, `otherwise()` and `to()`.

The `RouteBuilder.from(String uri)` method invokes `getEndpoint(uri)` on the `CamelContext` associated with the `RouteBuilder` object to get the specified `Endpoint` and then puts a `FromBuilder` _wrapper_ around this `Endpoint`. The `FromBuilder.filter(Predicate predicate)` method creates a `FilterProcessor` object for the `Predicate` (that is, condition) object built from the `header("foo").isEqualTo("bar")` expression. In this way, these operations incrementally build up a `Route` object (with a `RouteBuilder` wrapper around it) and add it to the `CamelContext` instance associated with the `RouteBuilder`.


== More Information

See xref:lambda-route-builder.adoc[Lambda Route Builder] for creating a routing rule using the DSL, using Java lambda style.
4 changes: 2 additions & 2 deletions docs/user-manual/modules/ROOT/pages/routes.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
= Routes

A Camel _route_ is where the integration flow is defined.
For example to integrate two systems then a Camel route can be _coded_ to specify how these systems are integrated.
A Camel _route_ is where the integration flow is defined. For example, you can write a Camel route to specify how two systems can be integrated.


An example could be to take files from a FTP server and send to a ActiveMQ messaging system.

Expand Down