Package org.apache.camel.spring
Class SpringCamelContext
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.impl.engine.AbstractCamelContext
org.apache.camel.impl.engine.SimpleCamelContext
org.apache.camel.impl.DefaultCamelContext
org.apache.camel.spring.SpringCamelContext
- All Implemented Interfaces:
AutoCloseable
,EventListener
,org.apache.camel.CamelContext
,org.apache.camel.CamelContextLifecycle
,org.apache.camel.CatalogCamelContext
,org.apache.camel.model.Model
,org.apache.camel.model.ModelCamelContext
,org.apache.camel.RuntimeConfiguration
,org.apache.camel.Suspendable
,org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
,org.springframework.context.ApplicationListener<org.springframework.context.ApplicationEvent>
,org.springframework.context.Lifecycle
,org.springframework.context.Phased
,org.springframework.core.Ordered
public class SpringCamelContext
extends org.apache.camel.impl.DefaultCamelContext
implements org.springframework.context.Lifecycle, org.springframework.context.ApplicationContextAware, org.springframework.context.Phased, org.springframework.context.ApplicationListener<org.springframework.context.ApplicationEvent>, org.springframework.core.Ordered
A Spring aware implementation of
CamelContext
which will automatically register itself with
Springs lifecycle methods plus allows spring to be used to customize a any
Type Converters as well as supporting accessing components
and beans via the Spring ApplicationContext
-
Field Summary
FieldsFields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorsConstructorDescriptionSpringCamelContext
(org.springframework.context.ApplicationContext applicationContext) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.apache.camel.Endpoint
convertBeanToEndpoint
(String uri, Object bean) protected EventEndpoint
protected org.apache.camel.spi.Injector
protected org.apache.camel.spi.ModelJAXBContextFactory
protected org.apache.camel.spi.Registry
void
doBuild()
org.springframework.context.ApplicationContext
int
getOrder()
int
getPhase()
boolean
boolean
Whether to shutdown thisSpringCamelContext
eager (first) when SpringApplicationContext
is being stopped.void
onApplicationEvent
(org.springframework.context.ApplicationEvent event) void
setApplicationContext
(org.springframework.context.ApplicationContext applicationContext) void
setShutdownEager
(boolean shutdownEager) static SpringCamelContext
springCamelContext
(org.springframework.context.ApplicationContext applicationContext, boolean maybeStart) Deprecated.its better to create and boot Spring the standard Spring way and to get hold of CamelContext using the Spring API.void
start()
void
stop()
toString()
Methods inherited from class org.apache.camel.impl.DefaultCamelContext
addCustomBean, addFaultToleranceConfiguration, addModelLifecycleStrategy, addResilience4jConfiguration, addRestDefinitions, addRouteConfiguration, addRouteConfigurations, addRouteDefinition, addRouteDefinitions, addRouteFromTemplate, addRouteFromTemplate, addRouteFromTemplate, addRouteFromTemplatedRoute, addRouteTemplateDefinition, addRouteTemplateDefinitionConverter, addRouteTemplateDefinitions, addServiceCallConfiguration, bindDataFormats, clearOptions, createErrorHandler, createExecutorServiceManager, createExpression, createModelReifierFactory, createPackageScanClassResolver, createPredicate, doDumpRoutes, doStop, getCustomBeans, getDataFormats, getExcludeRoutes, getFaultToleranceConfiguration, getModelLifecycleStrategies, getModelReifierFactory, getProcessorDefinition, getProcessorDefinition, getResilience4jConfiguration, getRestDefinitions, getRouteConfigurationDefinition, getRouteConfigurationDefinitions, getRouteDefinition, getRouteDefinitions, getRouteFilter, getRouteTemplateDefinition, getRouteTemplateDefinitions, getServiceCallConfiguration, getTestExcludeRoutes, getTransformers, getValidators, isDisableJmx, isNoStart, isStreamCachingInUse, registerTransformer, registerValidator, removeRoute, removeRoute, removeRouteConfiguration, removeRouteDefinition, removeRouteDefinitions, removeRouteDefinitionsFromTemplate, removeRouteTemplateDefinition, removeRouteTemplateDefinitions, removeRouteTemplateDefinitions, removeRouteTemplates, resolveDataFormatDefinition, setDataFormats, setDisableJmx, setExcludeRoutes, setFaultToleranceConfiguration, setFaultToleranceConfigurations, setModelReifierFactory, setNoStart, setResilience4jConfiguration, setResilience4jConfigurations, setRouteFilter, setRouteFilterPattern, setServiceCallConfiguration, setServiceCallConfigurations, setTransformers, setValidators, shutdownRouteService, startRouteDefinitions, startRouteDefinitions
Methods inherited from class org.apache.camel.impl.engine.SimpleCamelContext
createAnnotationBasedProcessorFactory, createAsyncProcessorAwaitManager, createBeanIntrospection, createBeanPostProcessor, createBeanProcessorFactory, createBeanProxyFactory, createCamelContextNameStrategy, createClassResolver, createComponentNameResolver, createComponentResolver, createConfigurerResolver, createDataFormatResolver, createDeferServiceFactory, createDependencyInjectionAnnotationFactory, createDevConsoleRegistry, createDevConsoleResolver, createDumpRoutesStrategy, createEndpointRegistry, createEndpointServiceRegistry, createExchangeFactory, createExchangeFactoryManager, createFactoryFinderResolver, createHeadersMapFactory, createHealthCheckRegistry, createHealthCheckResolver, createInflightRepository, createInterceptEndpointFactory, createInternalProcessorFactory, createLanguageResolver, createManagementNameStrategy, createMessageHistoryFactory, createModelineFactory, createModelToXMLDumper, createModelToYAMLDumper, createNodeIdFactory, createPackageScanResourceResolver, createPeriodTaskResolver, createPeriodTaskScheduler, createProcessorExchangeFactory, createProcessorFactory, createPropertiesComponent, createReactiveExecutor, createResourceLoader, createRestBindingJaxbDataFormatFactory, createRestRegistryFactory, createRouteController, createRouteFactory, createRoutesLoader, createRuntimeCamelCatalog, createShutdownStrategy, createStreamCachingStrategy, createTracer, createTransformerRegistry, createTypeConverter, createTypeConverterRegistry, createUnitOfWorkFactory, createUriFactoryResolver, createUuidGenerator, createValidatorRegistry, createVariableRepositoryFactory, disposeModel
Methods inherited from class org.apache.camel.impl.engine.AbstractCamelContext
addComponent, addEndpoint, addEndpointToRegistry, addLifecycleStrategy, addPrototypeService, addRoute, addRoutePolicyFactory, addRoutes, addRoutesConfigurations, addService, addService, addService, addStartupListener, addTemplatedRoutes, close, createBootstrapFactoryFinder, createConsumerTemplate, createConsumerTemplate, createDataFormat, createEndpoint, createErrorHandlerExecutorService, createFactoryFinder, createFluentProducerTemplate, createFluentProducerTemplate, createProducerTemplate, createProducerTemplate, createRestConfiguration, createRestRegistry, deferStartService, disableJMX, doFail, doGetEndpoint, doInit, doLifecycleChange, doResume, doShutdownRoute, doStart, doStartCamel, doStartContext, doStartStandardServices, doSuspend, eagerCreateTypeConverter, failOnStartup, forceLazyInitialization, forceStopLazyInitialization, getApplicationContextClassLoader, getCamelContextExtension, getCamelContextReference, getClassResolver, getClock, getComponent, getComponent, getComponent, getComponent, getComponentNames, getComponentParameterJsonSchema, getDataFormatNames, getDataFormatParameterJsonSchema, getDebugger, getDebuggingBreakpoints, getDelayer, getDescription, getDevConsoleParameterJsonSchema, getDumpRoutes, getEipParameterJsonSchema, getEndpoint, getEndpoint, getEndpoint, getEndpointKey, getEndpointKey, getEndpointRegistry, getEndpoints, getExecutorServiceManager, getGlobalEndpointConfiguration, getGlobalOption, getGlobalOptions, getInflightRepository, getInjector, getLanguageNames, getLanguageParameterJsonSchema, getLifecycleStrategies, getManagementName, getManagementNameStrategy, getManagementStrategy, getMDCLoggingKeysPattern, getMessageHistoryFactory, getName, getNameStrategy, getPojoBeanParameterJsonSchema, getProcessor, getProcessor, getPropertiesComponent, getRegistry, getRegistry, getRestConfiguration, getRestRegistry, getRoute, getRouteController, getRoutePolicyFactories, getRoutes, getRouteServices, getRoutesSize, getRouteStatus, getRuntimeEndpointRegistry, getShutdownRoute, getShutdownRunningTask, getShutdownStrategy, getSSLContextParameters, getStartupListeners, getStartupSummaryLevel, getStreamCachingStrategy, getTracer, getTracingLoggingFormat, getTracingPattern, getTransformerParameterJsonSchema, getTransformerRegistry, getTypeConverter, getTypeConverterRegistry, getUptime, getUuidGenerator, getValidatorRegistry, getVariable, getVariable, getVaultConfiguration, getVersion, hasComponent, hasEndpoint, hasService, hasService, hasService, hasServices, init, initEagerMandatoryServices, initPlugins, isAllowUseOriginalMessage, isAutoStartup, isAutowiredEnabled, isBacklogTracing, isBacklogTracingStandby, isBacklogTracingTemplates, isCaseInsensitiveHeaders, isDebugging, isDebugStandby, isDevConsole, isJMXDisabled, isLoadHealthChecks, isLoadTypeConverters, isLockModel, isLogExhaustedMessageBody, isLogMask, isMessageHistory, isModeline, isSourceLocationEnabled, isStartingRoutes, isStreamCaching, isTracing, isTracingStandby, isTracingTemplates, isTypeConverterStatisticsEnabled, isUseBreadcrumb, isUseDataType, isUseMDCLogging, isVetoStarted, logDuplicateComponents, logRouteState, logRouteStopSummary, logStartSummary, lookup, removeAllRoutes, removeComponent, removeEndpoint, removeEndpoints, removeRoute, removeService, resetBuildTime, resolveDataFormat, resolveLanguage, resolvePropertyPlaceholders, resolveTransformer, resolveTransformer, resolveValidator, resumeRoute, resumeRouteService, routeSupportsSuspension, setAllowUseOriginalMessage, setApplicationContextClassLoader, setAutoCreateComponents, setAutoStartup, setAutowiredEnabled, setBacklogTracing, setBacklogTracingStandby, setBacklogTracingTemplates, setCaseInsensitiveHeaders, setClassResolver, setDebugger, setDebugging, setDebuggingBreakpoints, setDebugStandby, setDelayer, setDevConsole, setDumpRoutes, setExecutorServiceManager, setGlobalOptions, setInflightRepository, setInjector, setLoadHealthChecks, setLoadTypeConverters, setLockModel, setLogExhaustedMessageBody, setLogMask, setManagementName, setManagementNameStrategy, setManagementStrategy, setMDCLoggingKeysPattern, setMessageHistory, setMessageHistoryFactory, setModeline, setNameStrategy, setPropertiesComponent, setRestConfiguration, setRestRegistry, setRouteController, setRuntimeEndpointRegistry, setShutdownRoute, setShutdownRunningTask, setShutdownStrategy, setSourceLocationEnabled, setSSLContextParameters, setStartingRoutes, setStartupSummaryLevel, setStreamCaching, setStreamCachingStrategy, setTracer, setTracing, setTracingLoggingFormat, setTracingPattern, setTracingStandby, setTracingTemplates, setTypeConverterRegistry, setTypeConverterStatisticsEnabled, setUseBreadcrumb, setUseDataType, setUseMDCLogging, setUuidGenerator, setVariable, setVaultConfiguration, shouldStartRoutes, shutdownRouteService, startAllRoutes, startRoute, startRouteService, stopAllRoutes, stopRoute, stopRoute, stopRoute, stopRoute, stopRouteService, stopRouteService, suspendRoute, suspendRoute, suspendRouteService
Methods inherited from class org.apache.camel.support.service.BaseService
build, doShutdown, fail, getStatus, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, suspend
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.context.ApplicationListener
supportsAsyncExecution
Methods inherited from interface org.apache.camel.CamelContext
addComponent, addEndpoint, addLifecycleStrategy, addPrototypeService, addRoutePolicyFactory, addRoutes, addRoutesConfigurations, addService, addService, addService, addStartupListener, addTemplatedRoutes, createConsumerTemplate, createConsumerTemplate, createDataFormat, createFluentProducerTemplate, createFluentProducerTemplate, createProducerTemplate, createProducerTemplate, deferStartService, disableJMX, getApplicationContextClassLoader, getCamelContextExtension, getClassResolver, getClock, getComponent, getComponent, getComponent, getComponent, getComponentNames, getDataFormatNames, getDebugger, getDescription, getDumpRoutes, getEndpoint, getEndpoint, getEndpoint, getEndpointRegistry, getEndpoints, getExecutorServiceManager, getGlobalEndpointConfiguration, getGlobalOption, getGlobalOptions, getInflightRepository, getInjector, getLanguageNames, getLifecycleStrategies, getManagementName, getManagementNameStrategy, getManagementStrategy, getMDCLoggingKeysPattern, getMessageHistoryFactory, getName, getNameStrategy, getProcessor, getProcessor, getPropertiesComponent, getRegistry, getRegistry, getRestConfiguration, getRestRegistry, getRoute, getRouteController, getRoutePolicyFactories, getRoutes, getRoutesSize, getRuntimeEndpointRegistry, getShutdownStrategy, getSSLContextParameters, getStartupSummaryLevel, getStreamCachingStrategy, getTracer, getTracingLoggingFormat, getTransformerRegistry, getTypeConverter, getTypeConverterRegistry, getUptime, getUuidGenerator, getValidatorRegistry, getVariable, getVariable, getVaultConfiguration, getVersion, hasComponent, hasEndpoint, hasService, hasService, hasService, hasServices, isBacklogTracingStandby, isBacklogTracingTemplates, isDebugStandby, isDevConsole, isLoadHealthChecks, isLoadTypeConverters, isModeline, isSourceLocationEnabled, isTracingStandby, isTracingTemplates, isTypeConverterStatisticsEnabled, isUseBreadcrumb, isUseDataType, isUseMDCLogging, isVetoStarted, removeComponent, removeEndpoint, removeEndpoints, removeService, resolveDataFormat, resolveLanguage, resolvePropertyPlaceholders, resolveTransformer, resolveTransformer, resolveValidator, setApplicationContextClassLoader, setBacklogTracingStandby, setBacklogTracingTemplates, setClassResolver, setDebugger, setDebugStandby, setDevConsole, setDumpRoutes, setExecutorServiceManager, setGlobalOptions, setInflightRepository, setInjector, setLoadHealthChecks, setLoadTypeConverters, setManagementName, setManagementNameStrategy, setManagementStrategy, setMDCLoggingKeysPattern, setMessageHistoryFactory, setModeline, setNameStrategy, setPropertiesComponent, setRestConfiguration, setRestRegistry, setRouteController, setRuntimeEndpointRegistry, setShutdownStrategy, setSourceLocationEnabled, setSSLContextParameters, setStartupSummaryLevel, setStreamCachingStrategy, setTracer, setTracingLoggingFormat, setTracingStandby, setTracingTemplates, setTypeConverterRegistry, setTypeConverterStatisticsEnabled, setUseBreadcrumb, setUseDataType, setUseMDCLogging, setUuidGenerator, setVariable, setVaultConfiguration
Methods inherited from interface org.apache.camel.CamelContextLifecycle
build, close, getStatus, init, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, resume, shutdown, suspend
Methods inherited from interface org.apache.camel.model.Model
addRouteFromTemplatedRoutes
Methods inherited from interface org.apache.camel.RuntimeConfiguration
getDelayer, getShutdownRoute, getShutdownRunningTask, getTracingPattern, isAllowUseOriginalMessage, isAutoStartup, isAutowiredEnabled, isBacklogTracing, isCaseInsensitiveHeaders, isDebugging, isLogExhaustedMessageBody, isLogMask, isMessageHistory, isStreamCaching, isTracing, setAllowUseOriginalMessage, setAutoStartup, setAutowiredEnabled, setBacklogTracing, setCaseInsensitiveHeaders, setDebugging, setDelayer, setLogExhaustedMessageBody, setLogMask, setMessageHistory, setShutdownRoute, setShutdownRunningTask, setStreamCaching, setTracing, setTracingPattern
-
Field Details
-
EXCLUDE_ROUTES
- See Also:
-
-
Constructor Details
-
SpringCamelContext
public SpringCamelContext() -
SpringCamelContext
public SpringCamelContext(org.springframework.context.ApplicationContext applicationContext)
-
-
Method Details
-
springCamelContext
@Deprecated public static SpringCamelContext springCamelContext(org.springframework.context.ApplicationContext applicationContext, boolean maybeStart) throws Exception Deprecated.its better to create and boot Spring the standard Spring way and to get hold of CamelContext using the Spring API.- Throws:
Exception
-
doBuild
- Overrides:
doBuild
in classorg.apache.camel.impl.engine.SimpleCamelContext
- Throws:
Exception
-
start
public void start()- Specified by:
start
in interfaceorg.apache.camel.CamelContextLifecycle
- Specified by:
start
in interfaceorg.springframework.context.Lifecycle
- Overrides:
start
in classorg.apache.camel.impl.DefaultCamelContext
-
stop
public void stop()- Specified by:
stop
in interfaceorg.apache.camel.CamelContextLifecycle
- Specified by:
stop
in interfaceorg.springframework.context.Lifecycle
- Overrides:
stop
in classorg.apache.camel.impl.engine.AbstractCamelContext
-
onApplicationEvent
public void onApplicationEvent(org.springframework.context.ApplicationEvent event) - Specified by:
onApplicationEvent
in interfaceorg.springframework.context.ApplicationListener<org.springframework.context.ApplicationEvent>
-
getOrder
public int getOrder()- Specified by:
getOrder
in interfaceorg.springframework.core.Ordered
-
getApplicationContext
public org.springframework.context.ApplicationContext getApplicationContext() -
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException - Specified by:
setApplicationContext
in interfaceorg.springframework.context.ApplicationContextAware
- Throws:
org.springframework.beans.BeansException
-
isShutdownEager
public boolean isShutdownEager()Whether to shutdown thisSpringCamelContext
eager (first) when SpringApplicationContext
is being stopped. Important: This option is default true which ensures we shutdown Camel before other beans. Setting this to false restores old behavior in earlier Camel releases, which can be used for special cases to behave as before.- Returns:
- true to shutdown eager (first), false to shutdown last
-
setShutdownEager
public void setShutdownEager(boolean shutdownEager) - See Also:
-
createInjector
protected org.apache.camel.spi.Injector createInjector()- Overrides:
createInjector
in classorg.apache.camel.impl.engine.SimpleCamelContext
-
createEventEndpoint
-
convertBeanToEndpoint
- Overrides:
convertBeanToEndpoint
in classorg.apache.camel.impl.engine.AbstractCamelContext
-
createRegistry
protected org.apache.camel.spi.Registry createRegistry()- Overrides:
createRegistry
in classorg.apache.camel.impl.engine.SimpleCamelContext
-
createModelJAXBContextFactory
protected org.apache.camel.spi.ModelJAXBContextFactory createModelJAXBContextFactory()- Overrides:
createModelJAXBContextFactory
in classorg.apache.camel.impl.engine.SimpleCamelContext
-
toString
- Overrides:
toString
in classorg.apache.camel.impl.engine.AbstractCamelContext
-
getPhase
public int getPhase()- Specified by:
getPhase
in interfaceorg.springframework.context.Phased
-
isRunning
public boolean isRunning()- Specified by:
isRunning
in interfaceorg.springframework.context.Lifecycle
-