org.apache.camel.impl
Class DefaultCamelContext

java.lang.Object
  extended by org.apache.camel.impl.ServiceSupport
      extended by org.apache.camel.impl.DefaultCamelContext
All Implemented Interfaces:
CamelContext, RuntimeConfiguration, Service, ShutdownableService
Direct Known Subclasses:
BlueprintCamelContext, GaeDefaultCamelContext, GuiceCamelContext, OsgiDefaultCamelContext, SpringCamelContext

public class DefaultCamelContext
extends ServiceSupport
implements CamelContext

Represents the context used to configure routes and the policies to use.

Version:
$Revision: 20269 $

Constructor Summary
DefaultCamelContext()
           
DefaultCamelContext(Context jndiContext)
          Creates the CamelContext using the given JNDI context as the registry
DefaultCamelContext(Registry registry)
          Creates the CamelContext using the given registry
 
Method Summary
 void addComponent(String componentName, Component component)
          Adds a component to the context.
 Endpoint addEndpoint(String uri, Endpoint endpoint)
          Adds the endpoint to the context using the given URI.
protected  Endpoint addEndpointToRegistry(String uri, Endpoint endpoint)
          Strategy to add the given endpoint to the internal endpoint registry
 void addInterceptStrategy(InterceptStrategy interceptStrategy)
          Adds the given interceptor strategy
 void addLifecycleStrategy(LifecycleStrategy lifecycleStrategy)
          Adds the given lifecycle strategy to be used.
 void addRegisterEndpointCallback(EndpointStrategy strategy)
          Registers a callback to allow you to do custom logic when an Endpoint is about to be registered to the CamelContext endpoint registry.
 void addRouteDefinitions(Collection<RouteDefinition> routeDefinitions)
          Adds a collection of route definitions to the context
 void addRoutes(RoutesBuilder builder)
          Adds a collection of routes to this context using the given builder to build them
 void addService(Object object)
          Adds a service, starting it so that it will be stopped with this context

The added service will also be enlisted in JMX for management (if JMX is enabled)

 void addStartupListener(StartupListener listener)
          Adds the given listener to be invoked when CamelContext have just been started.
protected  Endpoint convertBeanToEndpoint(String uri, Object bean)
          Strategy method for attempting to convert the bean from a Registry to an endpoint using some kind of transformation or wrapper
protected  ComponentResolver createComponentResolver()
          Lazily create a default implementation
 ConsumerTemplate createConsumerTemplate()
          Creates a new ConsumerTemplate which is started and therefore ready to use right away.
 ConsumerTemplate createConsumerTemplate(int maximumCacheSize)
          Creates a new ConsumerTemplate which is started and therefore ready to use right away.
protected  Endpoint createEndpoint(String uri)
          A pluggable strategy to allow an endpoint to be created without requiring a component to be its factory, such as for looking up the URI inside some Registry
protected  Injector createInjector()
          Lazily create a default implementation
protected  ManagementStrategy createManagementStrategy()
           
 ProducerTemplate createProducerTemplate()
          Creates a new ProducerTemplate which is started and therefore ready to use right away.
 ProducerTemplate createProducerTemplate(int maximumCacheSize)
          Creates a new ProducerTemplate which is started and therefore ready to use right away.
protected  Registry createRegistry()
          Lazily create a default implementation
protected  TypeConverter createTypeConverter()
          Lazily create a default implementation
 void disableJMX()
          Disables using JMX as ManagementStrategy.
protected  void doStart()
           
protected  void doStop()
           
protected  void forceLazyInitialization()
          Lets force some lazy initialization to occur upfront before we start any components and create routes
 ClassLoader getApplicationContextClassLoader()
          Gets the the application context class loader which may be helpful for running camel in other containers
 ClassResolver getClassResolver()
          Returns the class resolver to be used for loading/lookup of classes.
 Component getComponent(String name)
          Gets a component from the context by name.
<T extends Component>
T
getComponent(String name, Class<T> componentType)
          Gets a component from the context by name and specifying the expected type of component.
 List<String> getComponentNames()
          Gets a readonly list of names of the components currently registered
 ComponentResolver getComponentResolver()
           
 DataFormatResolver getDataFormatResolver()
          Gets the current data format resolver
 Map<String,DataFormatDefinition> getDataFormats()
          Gets the data formats that can be referenced in the routes.
 Debugger getDebugger()
          Gets the current Debugger
 FactoryFinder getDefaultFactoryFinder()
          Gets the default FactoryFinder which will be used for the loading the factory class from META-INF
 InterceptStrategy getDefaultTracer()
          Gets the default tracer
 Long getDelayer()
          Gets the delay value
 Endpoint getEndpoint(String uri)
          Resolves the given name to an Endpoint of the specified type.
<T extends Endpoint>
T
getEndpoint(String name, Class<T> endpointType)
          Resolves the given name to an Endpoint of the specified type.
protected  String getEndpointKey(String uri, Endpoint endpoint)
           
 Map<String,Endpoint> getEndpointMap()
          Returns a new Map containing all of the active endpoints with the key of the map being their unique key.
 Collection<Endpoint> getEndpoints()
          Returns the collection of all registered endpoints.
 ErrorHandlerBuilder getErrorHandlerBuilder()
          Gets the default error handler builder which is inherited by the routes
 ExecutorServiceStrategy getExecutorServiceStrategy()
          Gets the current ExecutorServiceStrategy
 FactoryFinder getFactoryFinder(String path)
          Gets the FactoryFinder which will be used for the loading the factory class from META-INF in the given path
 InflightRepository getInflightRepository()
          Gets the inflight repository
 Injector getInjector()
          Returns the injector used to instantiate objects by type
 List<InterceptStrategy> getInterceptStrategies()
          Gets the interceptor strategies
 List<String> getLanguageNames()
          Gets a readonly list with the names of the languages currently registered.
 LanguageResolver getLanguageResolver()
           
 List<LifecycleStrategy> getLifecycleStrategies()
          Returns the lifecycle strategies used to handle lifecycle notifications
 ManagementStrategy getManagementStrategy()
          Gets the management strategy
 String getName()
          Gets the name of the this context.
 NodeIdFactory getNodeIdFactory()
          Gets the node id factory
 PackageScanClassResolver getPackageScanClassResolver()
          Returns the package scanning class resolver
 ProcessorFactory getProcessorFactory()
          Gets the current ProcessorFactory
 ServicePool<Endpoint,Producer> getProducerServicePool()
          Gets the service pool for Producer pooling.
 Map<String,String> getProperties()
          Gets the properties that can be referenced in the camel context
 Registry getRegistry()
          Returns the registry used to lookup components by name and type such as the Spring ApplicationContext, JNDI or the OSGi Service Registry
 Route getRoute(String id)
          Gets the route with the given id
 RouteDefinition getRouteDefinition(String id)
          Gets the route definition with the given id
 List<RouteDefinition> getRouteDefinitions()
          Returns a list of the current route definitions
 List<Route> getRoutes()
          Returns the current routes in this context
protected  Map<String,RouteService> getRouteServices()
           
 List<RouteStartupOrder> getRouteStartupOrder()
          Returns the order in which the route inputs was started.
 ServiceStatus getRouteStatus(String key)
          Returns the current status of the given route
 ShutdownRoute getShutdownRoute()
          Gets the option to use when shutting down route.
 ShutdownRunningTask getShutdownRunningTask()
          Gets the option to use when shutting down a route and how to act when it has running tasks.
 ShutdownStrategy getShutdownStrategy()
          Gets the current shutdown strategy
 TypeConverter getTypeConverter()
          Returns the type converter used to coerce types from one type to another
 TypeConverterRegistry getTypeConverterRegistry()
          Returns the type converter registry where type converters can be added or looked up
 String getUptime()
          Gets the uptime in a human readable format
 Component hasComponent(String componentName)
          Is the given component already registered?
 Endpoint hasEndpoint(String uri)
          Is the given endpoint already registered?
 boolean hasService(Object object)
          Has the given service already been added?
 boolean isAutoCreateComponents()
           
 Boolean isAutoStartup()
          Gets whether it should automatic start when Camel starts.
 Boolean isHandleFault()
          Returns whether tracing enabled
 Boolean isStreamCaching()
          Returns whether stream cache is enabled
 Boolean isTracing()
          Returns whether tracing enabled
 Component removeComponent(String componentName)
          Removes a previously added component.
 void removeRouteDefinition(RouteDefinition routeDefinition)
           
 boolean removeRouteDefinition(String key)
          Removes the route definition with the given key.
 void removeRouteDefinitions(Collection<RouteDefinition> routeDefinitions)
          Removes a collection of route definitions from the context - stopping any previously running routes if any of them are actively running
 DataFormat resolveDataFormat(String name)
          Resolve a data format given its name
 DataFormatDefinition resolveDataFormatDefinition(String name)
          Resolve a data format definition given its name
 Language resolveLanguage(String language)
          Resolves a language for creating expressions
 String resolvePropertyPlaceholders(String uri)
          Parses the given text and resolve any property placeholders - using {{key}}.
protected  void safelyStartRouteServices(boolean forceAutoStart, Collection<RouteService> routeServices)
          Starts the routes services in a proper manner which ensures the routes will be started in correct order, check for clash and that the routes will also be shutdown in correct order as well.
protected  void safelyStartRouteServices(boolean forceAutoStart, RouteService... routeServices)
           
 void setApplicationContextClassLoader(ClassLoader classLoader)
          Sets the application context class loader
 void setAutoCreateComponents(boolean autoCreateComponents)
           
 void setAutoStartup(Boolean autoStartup)
          Sets whether it should automatic start when Camel starts.
 void setClassResolver(ClassResolver classResolver)
          Sets the class resolver to be use
 void setComponentResolver(ComponentResolver componentResolver)
           
static void setContextCounter(int value)
          Reset CONTEXT_COUNTER to a preset value.
 void setDataFormatResolver(DataFormatResolver dataFormatResolver)
          Sets a custom data format resolver
 void setDataFormats(Map<String,DataFormatDefinition> dataFormats)
          Sets the data formats that can be referenced in the routes.
 void setDebugger(Debugger debugger)
          Sets a custom Debugger
 void setDefaultTracer(InterceptStrategy defaultTracer)
          Sets a custom tracer to be used as the default tracer.
 void setDelayer(Long delay)
          Sets a delay value in millis that a message is delayed at every step it takes in the route path, to slow things down to better helps you to see what goes

Is disabled by default

 void setErrorHandlerBuilder(ErrorHandlerBuilder errorHandlerBuilder)
          Sets the default error handler builder which is inherited by the routes
 void setExecutorServiceStrategy(ExecutorServiceStrategy executorServiceStrategy)
          Sets a custom ExecutorServiceStrategy
 void setFactoryFinderResolver(FactoryFinderResolver resolver)
          Sets the factory finder resolver to use.
 void setHandleFault(Boolean handleFault)
          Sets whether handle fault is enabled or not (default is disabled).
 void setInflightRepository(InflightRepository repository)
          Sets a custom inflight repository to use
 void setInjector(Injector injector)
           
 void setInterceptStrategies(List<InterceptStrategy> interceptStrategies)
           
 void setJndiContext(Context jndiContext)
          Sets the registry to the given JNDI context
 void setLanguageResolver(LanguageResolver languageResolver)
           
 void setLifecycleStrategies(List<LifecycleStrategy> lifecycleStrategies)
           
 void setManagementStrategy(ManagementStrategy managementStrategy)
          Sets the management strategy to use
 void setName(String name)
          Sets the name of the this context.
 void setNodeIdFactory(NodeIdFactory idFactory)
          Uses a custom node id factory when generating auto assigned ids to the nodes in the route definitions
 void setPackageScanClassResolver(PackageScanClassResolver packageScanClassResolver)
          Sets the package scanning class resolver to use
 void setProcessorFactory(ProcessorFactory processorFactory)
          Sets a custom ProcessorFactory
 void setProducerServicePool(ServicePool<Endpoint,Producer> producerServicePool)
          Sets a pluggable service pool to use for Producer pooling.
 void setProperties(Map<String,String> properties)
          Sets the properties that can be referenced in the camel context
 void setRegistry(Registry registry)
           
 void setRoutes(List<Route> routes)
           
 void setShutdownRoute(ShutdownRoute shutdownRoute)
          Sets the option to use when shutting down routes.
 void setShutdownRunningTask(ShutdownRunningTask shutdownRunningTask)
          Sets the option to use when shutting down a route and how to act when it has running tasks.
 void setShutdownStrategy(ShutdownStrategy shutdownStrategy)
          Sets a custom shutdown strategy
 void setStreamCaching(Boolean cache)
          Sets whether stream caching is enabled or not (default is disabled).
 void setTracing(Boolean tracing)
          Sets whether tracing is enabled or not (default is disabled).
 void setTypeConverter(TypeConverter typeConverter)
           
 void setTypeConverterRegistry(TypeConverterRegistry typeConverterRegistry)
           
protected  boolean shouldStartRoutes()
          Should we start newly added routes?
 void shutdownRoute(String routeId)
          Shutdown the given route using ShutdownStrategy.
 void shutdownRoute(String routeId, long timeout, TimeUnit timeUnit)
          Shutdown the given route using ShutdownStrategy with a specified timeout.
 void start()
          Starts the service
 void startRoute(RouteDefinition route)
          Starts the given route if it has been previously stopped
 void startRoute(String routeId)
          Starts the given route if it has been previously stopped
protected  void startRouteDefinitions(Collection<RouteDefinition> list)
           
protected  void startRouteService(RouteService routeService)
          Starts the given route service
 void stopRoute(RouteDefinition route)
          Stops the given route.
 void stopRoute(String routeId)
          Stops the given route.
 String toString()
           
 
Methods inherited from class org.apache.camel.impl.ServiceSupport
addChildService, doShutdown, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, removeChildService, shutdown, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.camel.CamelContext
getStatus, getVersion
 
Methods inherited from interface org.apache.camel.Service
stop
 

Constructor Detail

DefaultCamelContext

public DefaultCamelContext()

DefaultCamelContext

public DefaultCamelContext(Context jndiContext)
Creates the CamelContext using the given JNDI context as the registry

Parameters:
jndiContext - the JNDI context

DefaultCamelContext

public DefaultCamelContext(Registry registry)
Creates the CamelContext using the given registry

Parameters:
registry - the registry
Method Detail

getName

public String getName()
Description copied from interface: CamelContext
Gets the name of the this context.

Specified by:
getName in interface CamelContext
Returns:
the name

setName

public void setName(String name)
Sets the name of the this context.

Parameters:
name - the name

hasComponent

public Component hasComponent(String componentName)
Description copied from interface: CamelContext
Is the given component already registered?

Specified by:
hasComponent in interface CamelContext
Parameters:
componentName - the name of the component
Returns:
the registered Component or null if not registered

addComponent

public void addComponent(String componentName,
                         Component component)
Description copied from interface: CamelContext
Adds a component to the context.

Specified by:
addComponent in interface CamelContext
Parameters:
componentName - the name the component is registered as
component - the component

getComponent

public Component getComponent(String name)
Description copied from interface: CamelContext
Gets a component from the context by name.

Specified by:
getComponent in interface CamelContext
Parameters:
name - the name of the component
Returns:
the component

getComponent

public <T extends Component> T getComponent(String name,
                                            Class<T> componentType)
Description copied from interface: CamelContext
Gets a component from the context by name and specifying the expected type of component.

Specified by:
getComponent in interface CamelContext
Parameters:
name - the name to lookup
componentType - the expected type
Returns:
the component

removeComponent

public Component removeComponent(String componentName)
Description copied from interface: CamelContext
Removes a previously added component.

Specified by:
removeComponent in interface CamelContext
Parameters:
componentName - the component name to remove
Returns:
the previously added component or null if it had not been previously added.

getEndpoints

public Collection<Endpoint> getEndpoints()
Description copied from interface: CamelContext
Returns the collection of all registered endpoints.

Specified by:
getEndpoints in interface CamelContext
Returns:
all endpoints

getEndpointMap

public Map<String,Endpoint> getEndpointMap()
Description copied from interface: CamelContext
Returns a new Map containing all of the active endpoints with the key of the map being their unique key.

Specified by:
getEndpointMap in interface CamelContext
Returns:
map of active endpoints

hasEndpoint

public Endpoint hasEndpoint(String uri)
Description copied from interface: CamelContext
Is the given endpoint already registered?

Specified by:
hasEndpoint in interface CamelContext
Parameters:
uri - the URI of the endpoint
Returns:
the registered endpoint or null if not registered

addEndpoint

public Endpoint addEndpoint(String uri,
                            Endpoint endpoint)
                     throws Exception
Description copied from interface: CamelContext
Adds the endpoint to the context using the given URI.

Specified by:
addEndpoint in interface CamelContext
Parameters:
uri - the URI to be used to resolve this endpoint
endpoint - the endpoint to be added to the context
Returns:
the old endpoint that was previously registered or null if none was registered
Throws:
Exception - if the new endpoint could not be started or the old endpoint could not be stopped

getEndpoint

public Endpoint getEndpoint(String uri)
Description copied from interface: CamelContext
Resolves the given name to an Endpoint of the specified type. If the name has a singleton endpoint registered, then the singleton is returned. Otherwise, a new Endpoint is created and registered.

Specified by:
getEndpoint in interface CamelContext
Parameters:
uri - the URI of the endpoint
Returns:
the endpoint

getEndpoint

public <T extends Endpoint> T getEndpoint(String name,
                                          Class<T> endpointType)
Description copied from interface: CamelContext
Resolves the given name to an Endpoint of the specified type. If the name has a singleton endpoint registered, then the singleton is returned. Otherwise, a new Endpoint is created and registered.

Specified by:
getEndpoint in interface CamelContext
Parameters:
name - the name of the endpoint
endpointType - the expected type
Returns:
the endpoint

addRegisterEndpointCallback

public void addRegisterEndpointCallback(EndpointStrategy strategy)
Description copied from interface: CamelContext
Registers a callback to allow you to do custom logic when an Endpoint is about to be registered to the CamelContext endpoint registry.

When a callback is added it will be executed on the already registered endpoints allowing you to catch-up

Specified by:
addRegisterEndpointCallback in interface CamelContext
Parameters:
strategy - callback to be invoked

addEndpointToRegistry

protected Endpoint addEndpointToRegistry(String uri,
                                         Endpoint endpoint)
Strategy to add the given endpoint to the internal endpoint registry

Parameters:
uri - uri of endpoint
endpoint - the endpoint to add
Returns:
the added endpoint

getRouteStartupOrder

public List<RouteStartupOrder> getRouteStartupOrder()
Returns the order in which the route inputs was started.

Returns:
a list ordered by the starting order of the route inputs

getRoutes

public List<Route> getRoutes()
Description copied from interface: CamelContext
Returns the current routes in this context

Specified by:
getRoutes in interface CamelContext
Returns:
the current routes

getRoute

public Route getRoute(String id)
Description copied from interface: CamelContext
Gets the route with the given id

Specified by:
getRoute in interface CamelContext
Parameters:
id - id of the route
Returns:
the route or null if not found

setRoutes

public void setRoutes(List<Route> routes)

addRoutes

public void addRoutes(RoutesBuilder builder)
               throws Exception
Description copied from interface: CamelContext
Adds a collection of routes to this context using the given builder to build them

Specified by:
addRoutes in interface CamelContext
Parameters:
builder - the builder which will create the routes and add them to this context
Throws:
Exception - if the routes could not be created for whatever reason

addRouteDefinitions

public void addRouteDefinitions(Collection<RouteDefinition> routeDefinitions)
                         throws Exception
Description copied from interface: CamelContext
Adds a collection of route definitions to the context

Specified by:
addRouteDefinitions in interface CamelContext
Parameters:
routeDefinitions - the route definitions to add
Throws:
Exception - if the route definition could not be created for whatever reason

removeRouteDefinition

public boolean removeRouteDefinition(String key)
Removes the route definition with the given key.

Returns:
true if one or more routes was removed

removeRouteDefinitions

public void removeRouteDefinitions(Collection<RouteDefinition> routeDefinitions)
                            throws Exception
Description copied from interface: CamelContext
Removes a collection of route definitions from the context - stopping any previously running routes if any of them are actively running

Specified by:
removeRouteDefinitions in interface CamelContext
Parameters:
routeDefinitions - route definitions
Throws:
Exception - if the route definition could not be removed for whatever reason

removeRouteDefinition

public void removeRouteDefinition(RouteDefinition routeDefinition)
                           throws Exception
Throws:
Exception

getRouteStatus

public ServiceStatus getRouteStatus(String key)
Description copied from interface: CamelContext
Returns the current status of the given route

Specified by:
getRouteStatus in interface CamelContext
Parameters:
key - the route id
Returns:
the status for the route

startRoute

public void startRoute(RouteDefinition route)
                throws Exception
Description copied from interface: CamelContext
Starts the given route if it has been previously stopped

Specified by:
startRoute in interface CamelContext
Parameters:
route - the route to start
Throws:
Exception - is thrown if the route could not be started for whatever reason

startRoute

public void startRoute(String routeId)
                throws Exception
Description copied from interface: CamelContext
Starts the given route if it has been previously stopped

Specified by:
startRoute in interface CamelContext
Parameters:
routeId - the route id
Throws:
Exception - is thrown if the route could not be started for whatever reason

stopRoute

public void stopRoute(RouteDefinition route)
               throws Exception
Description copied from interface: CamelContext
Stops the given route. It will remain in the list of route definitions return by CamelContext.getRouteDefinitions() unless you use the CamelContext.removeRouteDefinitions(java.util.Collection)

Specified by:
stopRoute in interface CamelContext
Parameters:
route - the route to stop
Throws:
Exception - is thrown if the route could not be stopped for whatever reason

stopRoute

public void stopRoute(String routeId)
               throws Exception
Description copied from interface: CamelContext
Stops the given route. It will remain in the list of route definitions return by CamelContext.getRouteDefinitions() unless you use the CamelContext.removeRouteDefinitions(java.util.Collection)

Specified by:
stopRoute in interface CamelContext
Parameters:
routeId - the route id
Throws:
Exception - is thrown if the route could not be stopped for whatever reason

shutdownRoute

public void shutdownRoute(String routeId)
                   throws Exception
Description copied from interface: CamelContext
Shutdown the given route using ShutdownStrategy. It will remain in the list of route definitions return by CamelContext.getRouteDefinitions() unless you use the CamelContext.removeRouteDefinitions(java.util.Collection)

Specified by:
shutdownRoute in interface CamelContext
Parameters:
routeId - the route id
Throws:
Exception - is thrown if the route could not be shutdown for whatever reason

shutdownRoute

public void shutdownRoute(String routeId,
                          long timeout,
                          TimeUnit timeUnit)
                   throws Exception
Description copied from interface: CamelContext
Shutdown the given route using ShutdownStrategy with a specified timeout. It will remain in the list of route definitions return by CamelContext.getRouteDefinitions() unless you use the CamelContext.removeRouteDefinitions(java.util.Collection)

Specified by:
shutdownRoute in interface CamelContext
Parameters:
routeId - the route id
timeout - timeout
timeUnit - the unit to use
Throws:
Exception - is thrown if the route could not be shutdown for whatever reason

addService

public void addService(Object object)
                throws Exception
Description copied from interface: CamelContext
Adds a service, starting it so that it will be stopped with this context

The added service will also be enlisted in JMX for management (if JMX is enabled)

Specified by:
addService in interface CamelContext
Parameters:
object - the service
Throws:
Exception - can be thrown when starting the service

hasService

public boolean hasService(Object object)
Description copied from interface: CamelContext
Has the given service already been added?

Specified by:
hasService in interface CamelContext
Parameters:
object - the service
Returns:
true if already added, false if not.

addStartupListener

public void addStartupListener(StartupListener listener)
                        throws Exception
Description copied from interface: CamelContext
Adds the given listener to be invoked when CamelContext have just been started.

This allows listeners to do any custom work after the routes and other services have been started and are running.

Important: The listener will always be invoked, also if the CamelContext has already been started, see the StartupListener.onCamelContextStarted(CamelContext, boolean) method.

Specified by:
addStartupListener in interface CamelContext
Parameters:
listener - the listener
Throws:
Exception - can be thrown if CamelContext is already started and the listener is invoked and cause an exception to be thrown

resolveLanguage

public Language resolveLanguage(String language)
Description copied from interface: CamelContext
Resolves a language for creating expressions

Specified by:
resolveLanguage in interface CamelContext
Parameters:
language - name of the language
Returns:
the resolved language

resolvePropertyPlaceholders

public String resolvePropertyPlaceholders(String uri)
                                   throws Exception
Description copied from interface: CamelContext
Parses the given text and resolve any property placeholders - using {{key}}.

Specified by:
resolvePropertyPlaceholders in interface CamelContext
Parameters:
uri - the text such as an endpoint uri or the likes
Returns:
the text with resolved property placeholders
Throws:
Exception - is thrown if property placeholders was used and there was an error resolving them

getTypeConverter

public TypeConverter getTypeConverter()
Description copied from interface: CamelContext
Returns the type converter used to coerce types from one type to another

Specified by:
getTypeConverter in interface CamelContext
Returns:
the converter

setTypeConverter

public void setTypeConverter(TypeConverter typeConverter)

getTypeConverterRegistry

public TypeConverterRegistry getTypeConverterRegistry()
Description copied from interface: CamelContext
Returns the type converter registry where type converters can be added or looked up

Specified by:
getTypeConverterRegistry in interface CamelContext
Returns:
the type converter registry

setTypeConverterRegistry

public void setTypeConverterRegistry(TypeConverterRegistry typeConverterRegistry)

getInjector

public Injector getInjector()
Description copied from interface: CamelContext
Returns the injector used to instantiate objects by type

Specified by:
getInjector in interface CamelContext
Returns:
the injector

setInjector

public void setInjector(Injector injector)

getComponentResolver

public ComponentResolver getComponentResolver()

setComponentResolver

public void setComponentResolver(ComponentResolver componentResolver)

getLanguageResolver

public LanguageResolver getLanguageResolver()

setLanguageResolver

public void setLanguageResolver(LanguageResolver languageResolver)

isAutoCreateComponents

public boolean isAutoCreateComponents()

setAutoCreateComponents

public void setAutoCreateComponents(boolean autoCreateComponents)

getRegistry

public Registry getRegistry()
Description copied from interface: CamelContext
Returns the registry used to lookup components by name and type such as the Spring ApplicationContext, JNDI or the OSGi Service Registry

Specified by:
getRegistry in interface CamelContext
Returns:
the registry

setJndiContext

public void setJndiContext(Context jndiContext)
Sets the registry to the given JNDI context

Parameters:
jndiContext - is the JNDI context to use as the registry
See Also:
setRegistry(org.apache.camel.spi.Registry)

setRegistry

public void setRegistry(Registry registry)

getLifecycleStrategies

public List<LifecycleStrategy> getLifecycleStrategies()
Description copied from interface: CamelContext
Returns the lifecycle strategies used to handle lifecycle notifications

Specified by:
getLifecycleStrategies in interface CamelContext
Returns:
the lifecycle strategies

setLifecycleStrategies

public void setLifecycleStrategies(List<LifecycleStrategy> lifecycleStrategies)

addLifecycleStrategy

public void addLifecycleStrategy(LifecycleStrategy lifecycleStrategy)
Description copied from interface: CamelContext
Adds the given lifecycle strategy to be used.

Specified by:
addLifecycleStrategy in interface CamelContext
Parameters:
lifecycleStrategy - the strategy

getRouteDefinitions

public List<RouteDefinition> getRouteDefinitions()
Description copied from interface: CamelContext
Returns a list of the current route definitions

Specified by:
getRouteDefinitions in interface CamelContext
Returns:
list of the current route definitions

getRouteDefinition

public RouteDefinition getRouteDefinition(String id)
Description copied from interface: CamelContext
Gets the route definition with the given id

Specified by:
getRouteDefinition in interface CamelContext
Parameters:
id - id of the route
Returns:
the route definition or null if not found

getInterceptStrategies

public List<InterceptStrategy> getInterceptStrategies()
Description copied from interface: CamelContext
Gets the interceptor strategies

Specified by:
getInterceptStrategies in interface CamelContext
Returns:
the list of current interceptor strategies

setInterceptStrategies

public void setInterceptStrategies(List<InterceptStrategy> interceptStrategies)

addInterceptStrategy

public void addInterceptStrategy(InterceptStrategy interceptStrategy)
Description copied from interface: CamelContext
Adds the given interceptor strategy

Specified by:
addInterceptStrategy in interface CamelContext
Parameters:
interceptStrategy - the strategy

setStreamCaching

public void setStreamCaching(Boolean cache)
Description copied from interface: RuntimeConfiguration
Sets whether stream caching is enabled or not (default is disabled).

Is disabled by default

Specified by:
setStreamCaching in interface RuntimeConfiguration
Parameters:
cache - whether stream caching is enabled or not

isStreamCaching

public Boolean isStreamCaching()
Description copied from interface: RuntimeConfiguration
Returns whether stream cache is enabled

Specified by:
isStreamCaching in interface RuntimeConfiguration
Returns:
true if stream cache is enabled

setTracing

public void setTracing(Boolean tracing)
Description copied from interface: RuntimeConfiguration
Sets whether tracing is enabled or not (default is disabled).

Is disabled by default

Specified by:
setTracing in interface RuntimeConfiguration
Parameters:
tracing - whether tracing is enabled or not.

isTracing

public Boolean isTracing()
Description copied from interface: RuntimeConfiguration
Returns whether tracing enabled

Specified by:
isTracing in interface RuntimeConfiguration
Returns:
true if tracing is enabled

isHandleFault

public Boolean isHandleFault()
Description copied from interface: RuntimeConfiguration
Returns whether tracing enabled

Specified by:
isHandleFault in interface RuntimeConfiguration
Returns:
true if tracing is enabled

setHandleFault

public void setHandleFault(Boolean handleFault)
Description copied from interface: RuntimeConfiguration
Sets whether handle fault is enabled or not (default is disabled).

Is disabled by default

Specified by:
setHandleFault in interface RuntimeConfiguration
Parameters:
handleFault - whether handle fault is enabled or not.

getDelayer

public Long getDelayer()
Description copied from interface: RuntimeConfiguration
Gets the delay value

Specified by:
getDelayer in interface RuntimeConfiguration
Returns:
delay in millis, or null if disabled

setDelayer

public void setDelayer(Long delay)
Description copied from interface: RuntimeConfiguration
Sets a delay value in millis that a message is delayed at every step it takes in the route path, to slow things down to better helps you to see what goes

Is disabled by default

Specified by:
setDelayer in interface RuntimeConfiguration
Parameters:
delay - delay in millis

createProducerTemplate

public ProducerTemplate createProducerTemplate()
Description copied from interface: CamelContext
Creates a new ProducerTemplate which is started and therefore ready to use right away.

See this FAQ before use: Why does Camel use too many threads with ProducerTemplate?

Will use cache size defined in Camel property with key Exchange.MAXIMUM_CACHE_POOL_SIZE. If no key was defined then it will fallback to a default size of 1000. You can also use the ProducerTemplate.setMaximumCacheSize(int) method to use a custom value before starting the template.

Specified by:
createProducerTemplate in interface CamelContext
Returns:
the template

createProducerTemplate

public ProducerTemplate createProducerTemplate(int maximumCacheSize)
Description copied from interface: CamelContext
Creates a new ProducerTemplate which is started and therefore ready to use right away.

You must start the template before its being used.

See this FAQ before use: Why does Camel use too many threads with ProducerTemplate?

Specified by:
createProducerTemplate in interface CamelContext
Parameters:
maximumCacheSize - the maximum cache size
Returns:
the template

createConsumerTemplate

public ConsumerTemplate createConsumerTemplate()
Description copied from interface: CamelContext
Creates a new ConsumerTemplate which is started and therefore ready to use right away.

See this FAQ before use: Why does Camel use too many threads with ProducerTemplate? as it also applies for ConsumerTemplate.

Will use cache size defined in Camel property with key Exchange.MAXIMUM_CACHE_POOL_SIZE. If no key was defined then it will fallback to a default size of 1000. You can also use the ConsumerTemplate.setMaximumCacheSize(int) method to use a custom value before starting the template.

Specified by:
createConsumerTemplate in interface CamelContext
Returns:
the template

createConsumerTemplate

public ConsumerTemplate createConsumerTemplate(int maximumCacheSize)
Description copied from interface: CamelContext
Creates a new ConsumerTemplate which is started and therefore ready to use right away.

See this FAQ before use: Why does Camel use too many threads with ProducerTemplate? as it also applies for ConsumerTemplate.

Specified by:
createConsumerTemplate in interface CamelContext
Parameters:
maximumCacheSize - the maximum cache size
Returns:
the template

getErrorHandlerBuilder

public ErrorHandlerBuilder getErrorHandlerBuilder()
Description copied from interface: CamelContext
Gets the default error handler builder which is inherited by the routes

Specified by:
getErrorHandlerBuilder in interface CamelContext
Returns:
the builder

setErrorHandlerBuilder

public void setErrorHandlerBuilder(ErrorHandlerBuilder errorHandlerBuilder)
Description copied from interface: CamelContext
Sets the default error handler builder which is inherited by the routes

Specified by:
setErrorHandlerBuilder in interface CamelContext
Parameters:
errorHandlerBuilder - the builder

setProducerServicePool

public void setProducerServicePool(ServicePool<Endpoint,Producer> producerServicePool)
Description copied from interface: CamelContext
Sets a pluggable service pool to use for Producer pooling.

Specified by:
setProducerServicePool in interface CamelContext
Parameters:
producerServicePool - the pool

getProducerServicePool

public ServicePool<Endpoint,Producer> getProducerServicePool()
Description copied from interface: CamelContext
Gets the service pool for Producer pooling.

Specified by:
getProducerServicePool in interface CamelContext
Returns:
the service pool

getUptime

public String getUptime()
Description copied from interface: CamelContext
Gets the uptime in a human readable format

Specified by:
getUptime in interface CamelContext
Returns:
the uptime in days/hours/minutes

start

public void start()
           throws Exception
Description copied from interface: Service
Starts the service

Specified by:
start in interface Service
Overrides:
start in class ServiceSupport
Throws:
Exception - is thrown if starting failed

doStart

protected void doStart()
                throws Exception
Specified by:
doStart in class ServiceSupport
Throws:
Exception

doStop

protected void doStop()
               throws Exception
Specified by:
doStop in class ServiceSupport
Throws:
Exception

startRouteDefinitions

protected void startRouteDefinitions(Collection<RouteDefinition> list)
                              throws Exception
Throws:
Exception

startRouteService

protected void startRouteService(RouteService routeService)
                          throws Exception
Starts the given route service

Throws:
Exception

safelyStartRouteServices

protected void safelyStartRouteServices(boolean forceAutoStart,
                                        Collection<RouteService> routeServices)
                                 throws Exception
Starts the routes services in a proper manner which ensures the routes will be started in correct order, check for clash and that the routes will also be shutdown in correct order as well.

This method must be used to start routes in a safe manner.

Parameters:
forceAutoStart - whether to force auto starting the routes, despite they may be configured not do do so
routeServices - the routes
Throws:
Exception - is thrown if error starting the routes

safelyStartRouteServices

protected void safelyStartRouteServices(boolean forceAutoStart,
                                        RouteService... routeServices)
                                 throws Exception
Throws:
Exception

forceLazyInitialization

protected void forceLazyInitialization()
Lets force some lazy initialization to occur upfront before we start any components and create routes


createTypeConverter

protected TypeConverter createTypeConverter()
Lazily create a default implementation


createInjector

protected Injector createInjector()
Lazily create a default implementation


createComponentResolver

protected ComponentResolver createComponentResolver()
Lazily create a default implementation


createRegistry

protected Registry createRegistry()
Lazily create a default implementation


createEndpoint

protected Endpoint createEndpoint(String uri)
A pluggable strategy to allow an endpoint to be created without requiring a component to be its factory, such as for looking up the URI inside some Registry

Parameters:
uri - the uri for the endpoint to be created
Returns:
the newly created endpoint or null if it could not be resolved

convertBeanToEndpoint

protected Endpoint convertBeanToEndpoint(String uri,
                                         Object bean)
Strategy method for attempting to convert the bean from a Registry to an endpoint using some kind of transformation or wrapper

Parameters:
uri - the uri for the endpoint (and name in the registry)
bean - the bean to be converted to an endpoint, which will be not null
Returns:
a new endpoint

shouldStartRoutes

protected boolean shouldStartRoutes()
Should we start newly added routes?


setDataFormats

public void setDataFormats(Map<String,DataFormatDefinition> dataFormats)
Description copied from interface: CamelContext
Sets the data formats that can be referenced in the routes.

Specified by:
setDataFormats in interface CamelContext
Parameters:
dataFormats - the data formats

getDataFormats

public Map<String,DataFormatDefinition> getDataFormats()
Description copied from interface: CamelContext
Gets the data formats that can be referenced in the routes.

Specified by:
getDataFormats in interface CamelContext
Returns:
the data formats available

getProperties

public Map<String,String> getProperties()
Description copied from interface: CamelContext
Gets the properties that can be referenced in the camel context

Specified by:
getProperties in interface CamelContext
Returns:
the properties

setProperties

public void setProperties(Map<String,String> properties)
Description copied from interface: CamelContext
Sets the properties that can be referenced in the camel context

Specified by:
setProperties in interface CamelContext
Parameters:
properties - properties

getDefaultFactoryFinder

public FactoryFinder getDefaultFactoryFinder()
Description copied from interface: CamelContext
Gets the default FactoryFinder which will be used for the loading the factory class from META-INF

Specified by:
getDefaultFactoryFinder in interface CamelContext
Returns:
the default factory finder

setFactoryFinderResolver

public void setFactoryFinderResolver(FactoryFinderResolver resolver)
Description copied from interface: CamelContext
Sets the factory finder resolver to use.

Specified by:
setFactoryFinderResolver in interface CamelContext
Parameters:
resolver - the factory finder resolver

getFactoryFinder

public FactoryFinder getFactoryFinder(String path)
                               throws NoFactoryAvailableException
Description copied from interface: CamelContext
Gets the FactoryFinder which will be used for the loading the factory class from META-INF in the given path

Specified by:
getFactoryFinder in interface CamelContext
Parameters:
path - the META-INF path
Returns:
the factory finder
Throws:
NoFactoryAvailableException - is thrown if a factory could not be found

getClassResolver

public ClassResolver getClassResolver()
Description copied from interface: CamelContext
Returns the class resolver to be used for loading/lookup of classes.

Specified by:
getClassResolver in interface CamelContext
Returns:
the resolver

setClassResolver

public void setClassResolver(ClassResolver classResolver)
Description copied from interface: CamelContext
Sets the class resolver to be use

Specified by:
setClassResolver in interface CamelContext
Parameters:
classResolver - the resolver

getPackageScanClassResolver

public PackageScanClassResolver getPackageScanClassResolver()
Description copied from interface: CamelContext
Returns the package scanning class resolver

Specified by:
getPackageScanClassResolver in interface CamelContext
Returns:
the resolver

setPackageScanClassResolver

public void setPackageScanClassResolver(PackageScanClassResolver packageScanClassResolver)
Description copied from interface: CamelContext
Sets the package scanning class resolver to use

Specified by:
setPackageScanClassResolver in interface CamelContext
Parameters:
packageScanClassResolver - the resolver

getComponentNames

public List<String> getComponentNames()
Description copied from interface: CamelContext
Gets a readonly list of names of the components currently registered

Specified by:
getComponentNames in interface CamelContext
Returns:
a readonly list with the names of the the components

getLanguageNames

public List<String> getLanguageNames()
Description copied from interface: CamelContext
Gets a readonly list with the names of the languages currently registered.

Specified by:
getLanguageNames in interface CamelContext
Returns:
a readonly list with the names of the the languages

getNodeIdFactory

public NodeIdFactory getNodeIdFactory()
Description copied from interface: CamelContext
Gets the node id factory

Specified by:
getNodeIdFactory in interface CamelContext
Returns:
the node id factory

setNodeIdFactory

public void setNodeIdFactory(NodeIdFactory idFactory)
Description copied from interface: CamelContext
Uses a custom node id factory when generating auto assigned ids to the nodes in the route definitions

Specified by:
setNodeIdFactory in interface CamelContext
Parameters:
idFactory - custom factory to use

getManagementStrategy

public ManagementStrategy getManagementStrategy()
Description copied from interface: CamelContext
Gets the management strategy

Specified by:
getManagementStrategy in interface CamelContext
Returns:
the management strategy

setManagementStrategy

public void setManagementStrategy(ManagementStrategy managementStrategy)
Description copied from interface: CamelContext
Sets the management strategy to use

Specified by:
setManagementStrategy in interface CamelContext
Parameters:
managementStrategy - the management strategy

getDefaultTracer

public InterceptStrategy getDefaultTracer()
Description copied from interface: CamelContext
Gets the default tracer

Specified by:
getDefaultTracer in interface CamelContext
Returns:
the default tracer

setDefaultTracer

public void setDefaultTracer(InterceptStrategy defaultTracer)
Description copied from interface: CamelContext
Sets a custom tracer to be used as the default tracer.

Note: This must be set before any routes are created, changing the defaultTracer for existing routes is not supported.

Specified by:
setDefaultTracer in interface CamelContext
Parameters:
defaultTracer - the custom tracer to use as default tracer

disableJMX

public void disableJMX()
Description copied from interface: CamelContext
Disables using JMX as ManagementStrategy.

Specified by:
disableJMX in interface CamelContext

getInflightRepository

public InflightRepository getInflightRepository()
Description copied from interface: CamelContext
Gets the inflight repository

Specified by:
getInflightRepository in interface CamelContext
Returns:
the repository

setInflightRepository

public void setInflightRepository(InflightRepository repository)
Description copied from interface: CamelContext
Sets a custom inflight repository to use

Specified by:
setInflightRepository in interface CamelContext
Parameters:
repository - the repository

setAutoStartup

public void setAutoStartup(Boolean autoStartup)
Description copied from interface: RuntimeConfiguration
Sets whether it should automatic start when Camel starts.

Currently only routes can be disabled, as CamelContext itself are always started}
Default is true to always startup.

Specified by:
setAutoStartup in interface RuntimeConfiguration
Parameters:
autoStartup - whether to auto startup.

isAutoStartup

public Boolean isAutoStartup()
Description copied from interface: RuntimeConfiguration
Gets whether it should automatic start when Camel starts.

Specified by:
isAutoStartup in interface RuntimeConfiguration
Returns:
true if should auto start

getApplicationContextClassLoader

public ClassLoader getApplicationContextClassLoader()
Description copied from interface: CamelContext
Gets the the application context class loader which may be helpful for running camel in other containers

Specified by:
getApplicationContextClassLoader in interface CamelContext
Returns:
the application context class loader

setApplicationContextClassLoader

public void setApplicationContextClassLoader(ClassLoader classLoader)
Description copied from interface: CamelContext
Sets the application context class loader

Specified by:
setApplicationContextClassLoader in interface CamelContext
Parameters:
classLoader - the class loader

getDataFormatResolver

public DataFormatResolver getDataFormatResolver()
Description copied from interface: CamelContext
Gets the current data format resolver

Specified by:
getDataFormatResolver in interface CamelContext
Returns:
the resolver

setDataFormatResolver

public void setDataFormatResolver(DataFormatResolver dataFormatResolver)
Description copied from interface: CamelContext
Sets a custom data format resolver

Specified by:
setDataFormatResolver in interface CamelContext
Parameters:
dataFormatResolver - the resolver

resolveDataFormat

public DataFormat resolveDataFormat(String name)
Description copied from interface: CamelContext
Resolve a data format given its name

Specified by:
resolveDataFormat in interface CamelContext
Parameters:
name - the data format name or a reference to it in the Registry
Returns:
the resolved data format, or null if not found

resolveDataFormatDefinition

public DataFormatDefinition resolveDataFormatDefinition(String name)
Description copied from interface: CamelContext
Resolve a data format definition given its name

Specified by:
resolveDataFormatDefinition in interface CamelContext
Parameters:
name - the data format definition name or a reference to it in the Registry
Returns:
the resolved data format definition, or null if not found

getShutdownStrategy

public ShutdownStrategy getShutdownStrategy()
Description copied from interface: CamelContext
Gets the current shutdown strategy

Specified by:
getShutdownStrategy in interface CamelContext
Returns:
the strategy

setShutdownStrategy

public void setShutdownStrategy(ShutdownStrategy shutdownStrategy)
Description copied from interface: CamelContext
Sets a custom shutdown strategy

Specified by:
setShutdownStrategy in interface CamelContext
Parameters:
shutdownStrategy - the custom strategy

getShutdownRoute

public ShutdownRoute getShutdownRoute()
Description copied from interface: RuntimeConfiguration
Gets the option to use when shutting down route.

Specified by:
getShutdownRoute in interface RuntimeConfiguration
Returns:
the option

setShutdownRoute

public void setShutdownRoute(ShutdownRoute shutdownRoute)
Description copied from interface: RuntimeConfiguration
Sets the option to use when shutting down routes.

Specified by:
setShutdownRoute in interface RuntimeConfiguration
Parameters:
shutdownRoute - the option to use.

getShutdownRunningTask

public ShutdownRunningTask getShutdownRunningTask()
Description copied from interface: RuntimeConfiguration
Gets the option to use when shutting down a route and how to act when it has running tasks.

Specified by:
getShutdownRunningTask in interface RuntimeConfiguration
Returns:
the option

setShutdownRunningTask

public void setShutdownRunningTask(ShutdownRunningTask shutdownRunningTask)
Description copied from interface: RuntimeConfiguration
Sets the option to use when shutting down a route and how to act when it has running tasks.

A running task is for example a BatchConsumer which has a group of messages to process. With this option you can control whether it should complete the entire group or stop after the current message has been processed.

Specified by:
setShutdownRunningTask in interface RuntimeConfiguration
Parameters:
shutdownRunningTask - the option to use.

getExecutorServiceStrategy

public ExecutorServiceStrategy getExecutorServiceStrategy()
Description copied from interface: CamelContext
Gets the current ExecutorServiceStrategy

Specified by:
getExecutorServiceStrategy in interface CamelContext
Returns:
the strategy

setExecutorServiceStrategy

public void setExecutorServiceStrategy(ExecutorServiceStrategy executorServiceStrategy)
Description copied from interface: CamelContext
Sets a custom ExecutorServiceStrategy

Specified by:
setExecutorServiceStrategy in interface CamelContext
Parameters:
executorServiceStrategy - the custom strategy

getProcessorFactory

public ProcessorFactory getProcessorFactory()
Description copied from interface: CamelContext
Gets the current ProcessorFactory

Specified by:
getProcessorFactory in interface CamelContext
Returns:
the factory, can be null if no custom factory has been set

setProcessorFactory

public void setProcessorFactory(ProcessorFactory processorFactory)
Description copied from interface: CamelContext
Sets a custom ProcessorFactory

Specified by:
setProcessorFactory in interface CamelContext
Parameters:
processorFactory - the custom factory

getDebugger

public Debugger getDebugger()
Description copied from interface: CamelContext
Gets the current Debugger

Specified by:
getDebugger in interface CamelContext
Returns:
the debugger

setDebugger

public void setDebugger(Debugger debugger)
Description copied from interface: CamelContext
Sets a custom Debugger

Specified by:
setDebugger in interface CamelContext
Parameters:
debugger - the debugger

getEndpointKey

protected String getEndpointKey(String uri,
                                Endpoint endpoint)

getRouteServices

protected Map<String,RouteService> getRouteServices()

createManagementStrategy

protected ManagementStrategy createManagementStrategy()

toString

public String toString()
Overrides:
toString in class Object

setContextCounter

public static void setContextCounter(int value)
Reset CONTEXT_COUNTER to a preset value. Mostly used for tests to ensure a predictable getName()

Parameters:
value - new value for the CONTEXT_COUNTER


Copyright © 2007-2010 IONA Open Source Community. All Rights Reserved.