ProcessorFactory
Available as of Camel 2.4
There is a org.apache.camel.spi.ProcessorFactory
which allows you to use a custom factory for creating Processor based on the Camel routes.
The factory can also be used for manipulating the definitions before the Processors is created. For example you can use it to alter options, or even add new outputs to the routes, before the routes is actually created.
Example
Here is a custom factory which will alter the processor definitions.
The route is as follows
Now the idea is that the setBody
processors has been changed by the factory to set a different body.
Also the Splitter has one additional output where we send the splitted message to mock:extra
endpoint.
Java DSL
In Java DSL all you need to do is to configure the custom factory on the CamelContext as shown:
Spring XML
In Spring XML all you have to do is just to declare a <bean> tag with the custom factory, and Camel will automatic lookup it up and use it.