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

    Fields
    Modifier and Type
    Field
    Description
    static final String
     

    Fields 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

    Constructors
    Constructor
    Description
     
    SpringCamelContext(org.springframework.context.ApplicationContext applicationContext)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.apache.camel.Endpoint
     
    protected EventEndpoint
     
    protected org.apache.camel.spi.Injector
     
    protected org.apache.camel.spi.ModelJAXBContextFactory
     
    protected org.apache.camel.spi.Registry
     
    void
     
    org.springframework.context.ApplicationContext
     
    int
     
    int
     
    boolean
     
    boolean
    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)
     
    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
     
    void
     
     

    Methods inherited from class org.apache.camel.impl.DefaultCamelContext

    addFaultToleranceConfiguration, addModelLifecycleStrategy, addRegistryBean, addResilience4jConfiguration, addRestDefinitions, addRouteConfiguration, addRouteConfigurations, addRouteDefinition, addRouteDefinitions, addRouteFromTemplate, addRouteFromTemplate, addRouteFromTemplate, addRouteFromTemplatedRoute, addRouteTemplateDefinition, addRouteTemplateDefinitionConverter, addRouteTemplateDefinitions, addServiceCallConfiguration, bindDataFormats, clearOptions, createErrorHandler, createExecutorServiceManager, createExpression, createModelReifierFactory, createPackageScanClassResolver, createPredicate, disposeModel, doDumpRoutes, doStop, getDataFormats, getExcludeRoutes, getFaultToleranceConfiguration, getModelLifecycleStrategies, getModelReifierFactory, getProcessorDefinition, getProcessorDefinition, getRegistryBeans, 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, 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

    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

  • 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

      public void doBuild() throws Exception
      Overrides:
      doBuild in class org.apache.camel.impl.engine.SimpleCamelContext
      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:
    • 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