Class 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 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
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.camel.impl.DefaultCamelContext

        org.apache.camel.impl.DefaultCamelContext.OptionHolder
      • Nested classes/interfaces inherited from class org.apache.camel.impl.engine.AbstractCamelContext

        org.apache.camel.impl.engine.AbstractCamelContext.Initialization
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String EXCLUDE_ROUTES  
      • Fields inherited from class org.apache.camel.impl.DefaultCamelContext

        OPTIONS
      • Fields inherited from class org.apache.camel.support.service.BaseService

        BUILT, FAILED, INITIALIZED, INITIALIZING, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
      • Fields inherited from interface org.springframework.core.Ordered

        HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
    • 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 this SpringCamelContext eager (first) when Spring ApplicationContext 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, addHystrixConfiguration, addModelLifecycleStrategy, addResilience4jConfiguration, addRestDefinitions, addRouteConfiguration, addRouteConfigurations, addRouteDefinition, addRouteDefinitions, addRouteFromTemplate, addRouteFromTemplate, addRouteTemplateDefinition, addRouteTemplateDefinitionConverter, addRouteTemplateDefinitions, addServiceCallConfiguration, adviceWith, bindDataFormats, clearOptions, createErrorHandler, createExecutorServiceManager, createExpression, createPackageScanClassResolver, createPredicate, disposeModel, doDumpRoutes, doStop, getDataFormats, getExcludeRoutes, getFaultToleranceConfiguration, getHystrixConfiguration, 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, setHystrixConfiguration, setHystrixConfigurations, 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, createEndpointRegistry, createExchangeFactory, createExchangeFactoryManager, createFactoryFinderResolver, createHeadersMapFactory, createHealthCheckRegistry, createHealthCheckResolver, createInflightRepository, createInterceptEndpointFactory, createInternalProcessorFactory, createLanguageResolver, createManagementNameStrategy, createMessageHistoryFactory, 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, getBeanIntrospection, getBeanPostProcessor, getBeanProcessorFactory, getBeanProxyFactory, getBootstrapConfigurerResolver, getBootstrapFactoryFinder, getBootstrapFactoryFinder, getCamelContextReference, getClassResolver, getComponent, getComponent, getComponent, getComponent, getComponentNameResolver, getComponentNames, getComponentParameterJsonSchema, getComponentResolver, getConfigurerResolver, getDataFormatParameterJsonSchema, getDataFormatResolver, getDebugger, getDefaultFactoryFinder, getDeferServiceFactory, getDelayer, 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, 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, getTracingPattern, getTransformerRegistry, getTypeConverter, getTypeConverterRegistry, getUnitOfWorkFactory, getUptime, getUptimeMillis, getUriFactoryResolver, getUuidGenerator, getValidatorRegistry, getVersion, getXMLRoutesDefinitionLoader, hasComponent, hasEndpoint, hasEndpoint, hasService, hasService, hasServices, init, initEagerMandatoryServices, isAllowUseOriginalMessage, isAutoCreateComponents, isAutoStartup, isAutowiredEnabled, isBacklogTracing, isCaseInsensitiveHeaders, isDebugging, isDumpRoutes, isEventNotificationApplicable, isJMXDisabled, isLightweight, isLoadHealthChecks, isLoadTypeConverters, isLogExhaustedMessageBody, isLogMask, isMessageHistory, isSetupRoutes, isStartingRoutes, isStreamCaching, isTracing, isTracingStandby, isTypeConverterStatisticsEnabled, isUseBreadcrumb, isUseDataType, isUseMDCLogging, isVetoStarted, logClassicStartSummary, 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, setBeanIntrospection, setBeanPostProcessor, setBeanProcessorFactory, setBeanProxyFactory, setBootstrapConfigurerResolver, setBootstrapFactoryFinder, setCaseInsensitiveHeaders, setClassResolver, setComponentNameResolver, setComponentResolver, setConfigurerResolver, setContextCounter, setDataFormatResolver, setDebugger, setDebugging, setDefaultExtension, setDeferServiceFactory, setDelayer, setDumpRoutes, setErrorHandlerExecutorService, setErrorHandlerFactory, setEventNotificationApplicable, setExchangeFactory, setExchangeFactoryManager, setExecutorServiceManager, setExtension, setFactoryFinderResolver, setGlobalOptions, setHeadersMapFactory, setHealthCheckResolver, setInflightRepository, setInitialization, setInjector, setInterceptEndpointFactory, setInterceptStrategies, setInternalProcessorFactory, setLanguageResolver, setLightweight, setLoadHealthChecks, setLoadTypeConverters, setLogExhaustedMessageBody, setLogMask, setManagementMBeanAssembler, setManagementName, setManagementNameStrategy, setManagementStrategy, setMDCLoggingKeysPattern, setMessageHistory, setMessageHistoryFactory, 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, setSSLContextParameters, setStartingRoutes, setStartupStepRecorder, setStartupSummaryLevel, setStreamCaching, setStreamCachingStrategy, setTracer, setTracing, setTracingPattern, setTracingStandby, setTransformerRegistry, setTypeConverter, setTypeConverterRegistry, setTypeConverterStatisticsEnabled, setUnitOfWorkFactory, setupManagement, setupRoutes, setUriFactoryResolver, setUseBreadcrumb, setUseDataType, setUseMDCLogging, setUuidGenerator, setValidatorRegistry, 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 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, 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, getTransformerRegistry, getTypeConverter, getTypeConverterRegistry, getUptime, getUptimeMillis, getUuidGenerator, getValidatorRegistry, getVersion, hasComponent, hasEndpoint, hasService, hasService, hasServices, isDumpRoutes, isLoadHealthChecks, isLoadTypeConverters, isTracingStandby, isTypeConverterStatisticsEnabled, isUseBreadcrumb, isUseDataType, isUseMDCLogging, isVetoStarted, removeComponent, removeEndpoint, removeEndpoints, removeRoute, removeService, resolveDataFormat, resolveLanguage, resolvePropertyPlaceholders, resolveTransformer, resolveTransformer, resolveValidator, setApplicationContextClassLoader, setClassResolver, setDebugger, setDumpRoutes, setExecutorServiceManager, setExtension, setGlobalOptions, setInflightRepository, setInjector, setLoadHealthChecks, setLoadTypeConverters, setManagementName, setManagementNameStrategy, setManagementStrategy, setMDCLoggingKeysPattern, setMessageHistoryFactory, setNameStrategy, setPropertiesComponent, setRestConfiguration, setRestRegistry, setRouteController, setRuntimeEndpointRegistry, setShutdownStrategy, setSSLContextParameters, setStartupSummaryLevel, setStreamCachingStrategy, setTracer, setTracingStandby, setTypeConverterRegistry, setTypeConverterStatisticsEnabled, setUseBreadcrumb, setUseDataType, setUseMDCLogging, setUuidGenerator
      • 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
    • Constructor Detail

      • SpringCamelContext

        public SpringCamelContext()
      • SpringCamelContext

        public SpringCamelContext​(org.springframework.context.ApplicationContext applicationContext)
    • 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 class org.apache.camel.impl.engine.AbstractCamelContext
        Throws:
        Exception
      • start

        public void start()
        Specified by:
        start in interface org.apache.camel.CamelContextLifecycle
        Specified by:
        start in interface org.springframework.context.Lifecycle
        Overrides:
        start in class org.apache.camel.impl.DefaultCamelContext
      • stop

        public void stop()
        Specified by:
        stop in interface org.apache.camel.CamelContextLifecycle
        Specified by:
        stop in interface org.springframework.context.Lifecycle
        Overrides:
        stop in class org.apache.camel.impl.engine.AbstractCamelContext
      • onApplicationEvent

        public void onApplicationEvent​(org.springframework.context.ApplicationEvent event)
        Specified by:
        onApplicationEvent in interface org.springframework.context.ApplicationListener<org.springframework.context.ApplicationEvent>
      • getOrder

        public int getOrder()
        Specified by:
        getOrder in interface org.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 interface org.springframework.context.ApplicationContextAware
        Throws:
        org.springframework.beans.BeansException
      • isShutdownEager

        public boolean isShutdownEager()
        Whether to shutdown this SpringCamelContext eager (first) when Spring ApplicationContext 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 class org.apache.camel.impl.engine.SimpleCamelContext
      • createEventEndpoint

        protected EventEndpoint createEventEndpoint()
      • convertBeanToEndpoint

        protected org.apache.camel.Endpoint convertBeanToEndpoint​(String uri,
                                                                  Object bean)
        Overrides:
        convertBeanToEndpoint in class org.apache.camel.impl.engine.AbstractCamelContext
      • createRegistry

        protected org.apache.camel.spi.Registry createRegistry()
        Overrides:
        createRegistry in class org.apache.camel.impl.engine.SimpleCamelContext
      • createModelJAXBContextFactory

        protected org.apache.camel.spi.ModelJAXBContextFactory createModelJAXBContextFactory()
        Overrides:
        createModelJAXBContextFactory in class org.apache.camel.impl.engine.SimpleCamelContext
      • toString

        public String toString()
        Overrides:
        toString in class org.apache.camel.impl.engine.AbstractCamelContext
      • getPhase

        public int getPhase()
        Specified by:
        getPhase in interface org.springframework.context.Phased
      • isRunning

        public boolean isRunning()
        Specified by:
        isRunning in interface org.springframework.context.Lifecycle