Class DynamicRouterComponent
- java.lang.Object
-
- org.apache.camel.support.service.BaseService
-
- org.apache.camel.support.service.ServiceSupport
-
- org.apache.camel.support.DefaultComponent
-
- org.apache.camel.component.dynamicrouter.DynamicRouterComponent
-
- All Implemented Interfaces:
AutoCloseable
,org.apache.camel.CamelContextAware
,org.apache.camel.Component
,org.apache.camel.Service
,org.apache.camel.ShutdownableService
,org.apache.camel.StatefulService
,org.apache.camel.SuspendableService
@Component("dynamic-router") public class DynamicRouterComponent extends org.apache.camel.support.DefaultComponent
The Dynamic RouterComponent
. Manages:Consumer
s: addition and removal- Control Channel: manage routing participants and their routing rules
- Endpoint: creates the
Endpoint
for a Dynamic Router URI
-
-
Constructor Summary
Constructors Constructor Description DynamicRouterComponent()
Create an instance of the Dynamic Router component.DynamicRouterComponent(Supplier<DynamicRouterEndpoint.DynamicRouterEndpointFactory> endpointFactorySupplier, Supplier<DynamicRouterProcessor.DynamicRouterProcessorFactory> processorFactorySupplier, Supplier<DynamicRouterControlChannelProcessor.DynamicRouterControlChannelProcessorFactory> controlChannelProcessorFactorySupplier, Supplier<DynamicRouterProducer.DynamicRouterProducerFactory> producerFactorySupplier, Supplier<DynamicRouterControlProducer.DynamicRouterControlProducerFactory> controlProducerFactorySupplier, Supplier<PrioritizedFilterProcessor.PrioritizedFilterProcessorFactory> filterProcessorFactorySupplier)
Create an instance of the Dynamic Router component with custom factories.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.apache.camel.Endpoint
createEndpoint(String uri, String remaining, Map<String,Object> parameters)
Create an endpoint for the supplied URI, and with the supplied parameters.protected void
doShutdown()
Perform shutdown on the Dynamic Router.DynamicRouterProcessor
getRoutingProcessor(String channel)
Get the processor for the given channel.-
Methods inherited from class org.apache.camel.support.DefaultComponent
afterConfiguration, createEndpoint, createEndpoint, doBuild, doInit, doStart, doStop, getAndRemoveOrResolveReferenceParameter, getAndRemoveOrResolveReferenceParameter, getAndRemoveParameter, getAndRemoveParameter, getCamelContext, getComponentPropertyConfigurer, getDefaultName, getEndpointPropertyConfigurer, getExtension, getSupportedExtensions, ifStartsWithReturnRemainder, isAutowiredEnabled, isBridgeErrorHandler, isLazyStartProducer, registerExtension, registerExtension, resolveAndRemoveReferenceListParameter, resolveAndRemoveReferenceListParameter, resolveAndRemoveReferenceParameter, resolveAndRemoveReferenceParameter, resolveRawParameterValues, setAutowiredEnabled, setBridgeErrorHandler, setCamelContext, setLazyStartProducer, setProperties, setProperties, setProperties, useIntrospectionOnEndpoint, useRawUri, validateParameters, validateURI
-
Methods inherited from class org.apache.camel.support.service.BaseService
build, doFail, doLifecycleChange, doResume, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Constructor Detail
-
DynamicRouterComponent
public DynamicRouterComponent()
Create an instance of the Dynamic Router component.
-
DynamicRouterComponent
public DynamicRouterComponent(Supplier<DynamicRouterEndpoint.DynamicRouterEndpointFactory> endpointFactorySupplier, Supplier<DynamicRouterProcessor.DynamicRouterProcessorFactory> processorFactorySupplier, Supplier<DynamicRouterControlChannelProcessor.DynamicRouterControlChannelProcessorFactory> controlChannelProcessorFactorySupplier, Supplier<DynamicRouterProducer.DynamicRouterProducerFactory> producerFactorySupplier, Supplier<DynamicRouterControlProducer.DynamicRouterControlProducerFactory> controlProducerFactorySupplier, Supplier<PrioritizedFilterProcessor.PrioritizedFilterProcessorFactory> filterProcessorFactorySupplier)
Create an instance of the Dynamic Router component with custom factories.- Parameters:
endpointFactorySupplier
- creates theDynamicRouterEndpoint
processorFactorySupplier
- creates theDynamicRouterProcessor
controlChannelProcessorFactorySupplier
- creates theDynamicRouterControlChannelProcessor
producerFactorySupplier
- creates theDynamicRouterProducer
controlProducerFactorySupplier
- creates theDynamicRouterControlProducer
filterProcessorFactorySupplier
- creates thePrioritizedFilterProcessor
-
-
Method Detail
-
createEndpoint
protected org.apache.camel.Endpoint createEndpoint(String uri, String remaining, Map<String,Object> parameters) throws Exception
Create an endpoint for the supplied URI, and with the supplied parameters. The control channel URI- Specified by:
createEndpoint
in classorg.apache.camel.support.DefaultComponent
- Parameters:
uri
- endpoint URIremaining
- portion of the URI after the scheme, and before parameters (the channel)parameters
- URI parameters- Returns:
- an endpoint for the supplied URI
- Throws:
Exception
-
doShutdown
protected void doShutdown() throws Exception
Perform shutdown on the Dynamic Router.- Overrides:
doShutdown
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
- to indicate a problem with shutdown
-
getRoutingProcessor
public DynamicRouterProcessor getRoutingProcessor(String channel)
Get the processor for the given channel.- Parameters:
channel
- the channel to get the processor for- Returns:
- the processor for the given channel
-
-