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.ExtendedCamelContext
,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 ofCamelContext
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 SpringApplicationContext
-
-
Field Summary
Fields Modifier and Type Field Description static String
EXCLUDE_ROUTES
-
Constructor Summary
Constructors Constructor Description SpringCamelContext()
SpringCamelContext(org.springframework.context.ApplicationContext applicationContext)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected org.apache.camel.Endpoint
convertBeanToEndpoint(String uri, Object bean)
protected EventEndpoint
createEventEndpoint()
protected org.apache.camel.spi.Injector
createInjector()
protected org.apache.camel.spi.ModelJAXBContextFactory
createModelJAXBContextFactory()
protected org.apache.camel.spi.Registry
createRegistry()
void
doBuild()
org.springframework.context.ApplicationContext
getApplicationContext()
int
getOrder()
int
getPhase()
boolean
isRunning()
boolean
isShutdownEager()
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()
String
toString()
-
Methods inherited from class org.apache.camel.impl.DefaultCamelContext
addFaultToleranceConfiguration, addModelLifecycleStrategy, addResilience4jConfiguration, addRestDefinitions, addRouteConfiguration, addRouteConfigurations, addRouteDefinition, addRouteDefinitions, addRouteFromTemplate, addRouteFromTemplate, addRouteFromTemplatedRoute, addRouteTemplateDefinition, addRouteTemplateDefinitionConverter, addRouteTemplateDefinitions, addServiceCallConfiguration, adviceWith, bindDataFormats, clearOptions, createErrorHandler, createExecutorServiceManager, createExpression, createPackageScanClassResolver, createPredicate, disposeModel, doDumpRoutes, doStop, getDataFormats, getExcludeRoutes, getFaultToleranceConfiguration, getModelLifecycleStrategies, getModelReifierFactory, getProcessorDefinition, getProcessorDefinition, getResilience4jConfiguration, getRestDefinitions, getRouteConfigurationDefinitions, getRouteDefinition, getRouteDefinitions, getRouteFilter, getRouteTemplateDefinition, getRouteTemplateDefinitions, getServiceCallConfiguration, getTestExcludeRoutes, getTransformers, getValidators, isDisableJmx, isNoStart, isStreamCachingInUse, registerTransformer, registerValidator, removeRoute, removeRouteDefinition, removeRouteDefinitions, 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, createEndpointRegistry, createExchangeFactory, createExchangeFactoryManager, createFactoryFinderResolver, createHeadersMapFactory, createHealthCheckRegistry, createHealthCheckResolver, createInflightRepository, createInterceptEndpointFactory, createInternalProcessorFactory, createLanguageResolver, createManagementNameStrategy, createMessageHistoryFactory, createModelineFactory, createModelToXMLDumper, createNodeIdFactory, createPackageScanResourceResolver, createProcessorExchangeFactory, createProcessorFactory, createPropertiesComponent, createReactiveExecutor, createResourceLoader, createRestBindingJaxbDataFormatFactory, createRestRegistryFactory, createRouteController, createRouteFactory, createRoutesLoader, createRuntimeCamelCatalog, createShutdownStrategy, createStreamCachingStrategy, createTracer, createTransformerRegistry, createTypeConverter, createTypeConverterRegistry, createUnitOfWorkFactory, createUriFactoryResolver, createUuidGenerator, createValidatorRegistry, createXMLRoutesDefinitionLoader
-
Methods inherited from class org.apache.camel.impl.engine.AbstractCamelContext
adapt, addBootstrap, addComponent, addEndpoint, addEndpointToRegistry, addInterceptStrategy, addLifecycleStrategy, addLogListener, addPrototypeService, addRoute, addRoutePolicyFactory, addRoutes, addRoutesConfigurations, addService, addService, addService, addStartupListener, close, createBootstrapFactoryFinder, createConsumerTemplate, createConsumerTemplate, createDataFormat, createEndpoint, createErrorHandlerExecutorService, createFactoryFinder, createFluentProducerTemplate, createFluentProducerTemplate, createProducerTemplate, createProducerTemplate, createRestConfiguration, createRestRegistry, deferStartService, deferStartService, disableJMX, doAddService, doAddService, doAddService, doFail, doGetEndpoint, doInit, doLifecycleChange, doResume, doShutdownRoute, doStart, doStartCamel, doStartContext, doStartEagerServices, doStartStandardServices, doSuspend, eagerCreateTypeConverter, failOnStartup, forceLazyInitialization, forceStopLazyInitialization, getAnnotationBasedProcessorFactory, getApplicationContextClassLoader, getAsyncProcessorAwaitManager, getBasePackageScan, getBeanIntrospection, getBeanPostProcessor, getBeanProcessorFactory, getBeanProxyFactory, getBootstrapConfigurerResolver, getBootstrapFactoryFinder, getBootstrapFactoryFinder, getCamelContextReference, getClassResolver, getComponent, getComponent, getComponent, getComponent, getComponentNameResolver, getComponentNames, getComponentParameterJsonSchema, getComponentResolver, getConfigurerResolver, getDataFormatNames, getDataFormatParameterJsonSchema, getDataFormatResolver, getDebugger, getDefaultFactoryFinder, getDeferServiceFactory, getDelayer, getDependencyInjectionAnnotationFactory, getDevConsoleResolver, getEipParameterJsonSchema, getEndpoint, getEndpoint, getEndpoint, getEndpoint, getEndpoint, getEndpointKey, getEndpointKey, getEndpointMap, getEndpointRegistry, getEndpoints, getEndpointUriFactory, getErrorHandlerExecutorService, getErrorHandlerFactory, getExchangeFactory, getExchangeFactoryManager, getExecutorServiceManager, getExtension, getFactoryFinder, getFactoryFinderResolver, getGlobalEndpointConfiguration, getGlobalOption, getGlobalOptions, getHeadersMapFactory, getHealthCheckResolver, getInflightRepository, getInitialization, getInjector, getInterceptEndpointFactory, getInterceptStrategies, getInternalProcessorFactory, getInternalRouteController, getLanguageNames, getLanguageParameterJsonSchema, getLanguageResolver, getLifecycleStrategies, getLogListeners, getManagementMBeanAssembler, getManagementName, getManagementNameStrategy, getManagementStrategy, getMDCLoggingKeysPattern, getMessageHistoryFactory, getModelineFactory, getModelJAXBContextFactory, getModelToXMLDumper, getName, getNameStrategy, getNodeIdFactory, getOrCreateTypeConverter, getPackageScanClassResolver, getPackageScanResourceResolver, getProcessor, getProcessor, getProcessorExchangeFactory, getProcessorFactory, getPropertiesComponent, getPrototypeEndpoint, getPrototypeEndpoint, getReactiveExecutor, getRegistry, getRegistry, getResourceLoader, getRestBindingJaxbDataFormatFactory, getRestConfiguration, getRestRegistry, getRestRegistryFactory, getRoute, getRouteController, getRouteFactory, getRoutePolicyFactories, getRoutes, getRouteServices, getRoutesLoader, getRoutesSize, getRouteStartupOrder, getRouteStatus, getRuntimeCamelCatalog, getRuntimeEndpointRegistry, getServices, getShutdownRoute, getShutdownRunningTask, getShutdownStrategy, getSSLContextParameters, getStartDate, getStartupListeners, getStartupStepRecorder, getStartupSummaryLevel, getStreamCachingStrategy, getTracer, getTracingLoggingFormat, getTracingPattern, getTransformerRegistry, getTypeConverter, getTypeConverterRegistry, getUnitOfWorkFactory, getUptime, getUptimeMillis, getUriFactoryResolver, getUuidGenerator, getValidatorRegistry, getVaultConfiguration, getVersion, getXMLRoutesDefinitionLoader, hasComponent, hasEndpoint, hasEndpoint, hasService, hasService, hasServices, init, initEagerMandatoryServices, isAllowUseOriginalMessage, isAutoCreateComponents, isAutoStartup, isAutowiredEnabled, isBacklogTracing, isCaseInsensitiveHeaders, isDebugging, isDevConsole, isDumpRoutes, isEventNotificationApplicable, isJMXDisabled, isLightweight, isLoadHealthChecks, isLoadTypeConverters, isLogExhaustedMessageBody, isLogJvmUptime, isLogMask, isMessageHistory, isModeline, isSetupRoutes, isSourceLocationEnabled, isStartingRoutes, isStreamCaching, isTracing, isTracingStandby, isTypeConverterStatisticsEnabled, isUseBreadcrumb, isUseDataType, isUseMDCLogging, isVetoStarted, logDuplicateComponents, logRouteState, logRouteStopSummary, logStartSummary, lookup, normalizeUri, registerEndpointCallback, removeAllRoutes, removeComponent, removeEndpoint, removeEndpoints, removeRoute, removeRoute, removeService, resetBuildTime, resolveDataFormat, resolveLanguage, resolvePropertyPlaceholders, resolvePropertyPlaceholders, resolveTransformer, resolveTransformer, resolveValidator, resumeRoute, resumeRouteService, routeSupportsSuspension, setAllowUseOriginalMessage, setAnnotationBasedProcessorFactory, setApplicationContextClassLoader, setAsyncProcessorAwaitManager, setAutoCreateComponents, setAutoStartup, setAutowiredEnabled, setBacklogTracing, setBasePackageScan, setBeanIntrospection, setBeanPostProcessor, setBeanProcessorFactory, setBeanProxyFactory, setBootstrapConfigurerResolver, setBootstrapFactoryFinder, setCaseInsensitiveHeaders, setClassResolver, setComponentNameResolver, setComponentResolver, setConfigurerResolver, setContextCounter, setDataFormatResolver, setDebugger, setDebugging, setDefaultExtension, setDeferServiceFactory, setDelayer, setDependencyInjectionAnnotationFactory, setDevConsole, setDevConsoleResolver, setDumpRoutes, setErrorHandlerExecutorService, setErrorHandlerFactory, setEventNotificationApplicable, setExchangeFactory, setExchangeFactoryManager, setExecutorServiceManager, setExtension, setFactoryFinderResolver, setGlobalOptions, setHeadersMapFactory, setHealthCheckResolver, setInflightRepository, setInitialization, setInjector, setInterceptEndpointFactory, setInterceptStrategies, setInternalProcessorFactory, setLanguageResolver, setLightweight, setLoadHealthChecks, setLoadTypeConverters, setLogExhaustedMessageBody, setLogJvmUptime, setLogMask, setManagementMBeanAssembler, setManagementName, setManagementNameStrategy, setManagementStrategy, setMDCLoggingKeysPattern, setMessageHistory, setMessageHistoryFactory, setModeline, setModelineFactory, setModelJAXBContextFactory, setModelToXMLDumper, setName, setNameStrategy, setNodeIdFactory, setPackageScanClassResolver, setPackageScanResourceResolver, setProcessorExchangeFactory, setProcessorFactory, setPropertiesComponent, setReactiveExecutor, setRegistry, setResourceLoader, setRestBindingJaxbDataFormatFactory, setRestConfiguration, setRestRegistry, setRestRegistryFactory, setRouteController, setRouteFactory, setRoutePolicyFactories, setRoutesLoader, setRuntimeCamelCatalog, setRuntimeEndpointRegistry, setShutdownRoute, setShutdownRunningTask, setShutdownStrategy, setSourceLocationEnabled, setSSLContextParameters, setStartingRoutes, setStartupStepRecorder, setStartupSummaryLevel, setStreamCaching, setStreamCachingStrategy, setTracer, setTracing, setTracingLoggingFormat, setTracingPattern, setTracingStandby, setTransformerRegistry, setTypeConverter, setTypeConverterRegistry, setTypeConverterStatisticsEnabled, setUnitOfWorkFactory, setupManagement, setupRoutes, setUriFactoryResolver, setUseBreadcrumb, setUseDataType, setUseMDCLogging, setUuidGenerator, setValidatorRegistry, setVaultConfiguration, setXMLRoutesDefinitionLoader, 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.apache.camel.CamelContext
adapt, addComponent, addEndpoint, addLifecycleStrategy, addPrototypeService, addRoutePolicyFactory, addRoutes, addRoutesConfigurations, addService, addService, addService, addStartupListener, createConsumerTemplate, createConsumerTemplate, createDataFormat, createFluentProducerTemplate, createFluentProducerTemplate, createProducerTemplate, createProducerTemplate, deferStartService, disableJMX, getApplicationContextClassLoader, getClassResolver, getComponent, getComponent, getComponent, getComponent, getComponentNames, getDataFormatNames, getDebugger, getEndpoint, getEndpoint, getEndpoint, getEndpointMap, getEndpointRegistry, getEndpoints, getExecutorServiceManager, getExtension, 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, getStartDate, getStartupSummaryLevel, getStreamCachingStrategy, getTracer, getTracingLoggingFormat, getTransformerRegistry, getTypeConverter, getTypeConverterRegistry, getUptime, getUptimeMillis, getUuidGenerator, getValidatorRegistry, getVaultConfiguration, getVersion, hasComponent, hasEndpoint, hasService, hasService, hasServices, isDevConsole, isDumpRoutes, isLoadHealthChecks, isLoadTypeConverters, isModeline, isSourceLocationEnabled, isTracingStandby, isTypeConverterStatisticsEnabled, isUseBreadcrumb, isUseDataType, isUseMDCLogging, isVetoStarted, removeComponent, removeEndpoint, removeEndpoints, removeRoute, removeService, resolveDataFormat, resolveLanguage, resolvePropertyPlaceholders, resolveTransformer, resolveTransformer, resolveValidator, setApplicationContextClassLoader, setClassResolver, setDebugger, setDevConsole, setDumpRoutes, setExecutorServiceManager, setExtension, 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, setTypeConverterRegistry, setTypeConverterStatisticsEnabled, setUseBreadcrumb, setUseDataType, setUseMDCLogging, setUuidGenerator, 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.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 Detail
-
EXCLUDE_ROUTES
public static final String EXCLUDE_ROUTES
- See Also:
- Constant Field Values
-
-
Method Detail
-
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
public void doBuild() throws Exception
- Overrides:
doBuild
in classorg.apache.camel.impl.engine.AbstractCamelContext
- 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:
isShutdownEager()
-
createInjector
protected org.apache.camel.spi.Injector createInjector()
- Overrides:
createInjector
in classorg.apache.camel.impl.engine.SimpleCamelContext
-
createEventEndpoint
protected EventEndpoint createEventEndpoint()
-
convertBeanToEndpoint
protected org.apache.camel.Endpoint convertBeanToEndpoint(String uri, Object bean)
- 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
public String 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
-
-