Advanced configuration of CamelContext using Spring
When using Spring the CamelContext can be pre configured based on defined beans in spring XML and/or system properties.
This wiki page documentes these features.
What can be configured
The following functions can be configured:
- Class resolvers
- Lifecycle factories
- Registry for lookup
- Debugger, Tracer and Dealyer
- Interceptors
Camel will configure these functions by doing a lookup in the Spring bean registry to find beans of the given type
When Camel finds and uses any of these it logs at INFO
level.
The following list all requires at most 1 beans defined. If there are more than 1 bean of this type, then Camel will not use it.
Type |
Number of beans |
Description |
---|---|---|
PackageScanClassResolver |
0..1 |
To use a 3rd party package scan resolver. More details at XXXX. |
ClassResolver |
0..1 |
To use a 3rd party class resolver. More details at XXXX. |
FactoryFinderResolver |
0..1 |
To use a 3rd party factory finder. |
LifecycleStrategy |
0..1 |
To use a 3rd party lifecycle strategy. By default Camel uses a JMX aware that does JMX instrumentation. |
Registry |
0..1 |
To use a 3rd party bean registry. By default Camel will use Spring ApplicationContext as registry. |
Debugger |
0..1 |
To use a Debugger usually for tooling. |
Tracer |
0..1 |
To use a 3rd party Tracer. |
TraceFormatter |
0..1 |
To use a bean that has the tracing options configured. |
HandleFault |
0..1 |
To use a 3rd part HandleFault that handles FAULT messages. The default implementation turns FAULT messages into Exceptions. |
Delayer |
0..1 |
To use a 3rd part Delayer. |
And the following options have support for any number of beans defined.
InterceptStrategy |
0..n |
To use your own Interceptor that intercepts every processing steps in all routes in the CamelContext. For instance you can use this to do an AOP like performance timer interceptor. |