Interface ExtendedCamelContext


public interface ExtendedCamelContext
Extended CamelContext which contains the methods and APIs that are not primary intended for Camel end users but for SPI, custom components, or more advanced used-cases with Camel.
  • Method Details

    • setName

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

      This operation is mostly only used by different Camel runtimes such as camel-spring, camel-cdi, camel-spring-boot etc. Important: Setting the name should only be set before CamelContext is started.

      Parameters:
      name - the name
    • getName

      default String getName()
    • setDescription

      void setDescription(String description)
      Sets the description of this Camel application.
    • getDescription

      default String getDescription()
    • setRegistry

      void setRegistry(Registry registry)
      Sets the registry Camel should use for looking up beans by name or type.

      This operation is mostly only used by different Camel runtimes such as camel-spring, camel-cdi, camel-spring-boot etc. Important: Setting the registry should only be set before CamelContext is started.

      Parameters:
      registry - the registry such as DefaultRegistry or
    • getRegistry

      default Registry getRegistry()
    • setupRoutes

      void setupRoutes(boolean done)
      Method to signal to CamelContext that the process to initialize setup routes is in progress.
      Parameters:
      done - false to start the process, call again with true to signal its done.
      See Also:
    • isSetupRoutes

      boolean isSetupRoutes()
      Indicates whether current thread is setting up route(s) as part of starting Camel.

      This can be useful to know by LifecycleStrategy or the likes, in case they need to react differently.

      As the startup procedure of CamelContext is slightly different when using plain Java versus camel-spring-xml or camel-blueprint, then we need to know when spring/blueprint are setting up the routes, which can happen after the CamelContext itself is in started state, due the asynchronous event nature of especially blueprint.

      Returns:
      true if current thread is setting up route(s), or false if not.
    • registerEndpointCallback

      void registerEndpointCallback(EndpointStrategy strategy)
      Registers a callback to allow you to do custom logic when an Endpoint is about to be registered to the EndpointRegistry.

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

      Parameters:
      strategy - callback to be invoked
    • getPrototypeEndpoint

      Endpoint getPrototypeEndpoint(String uri)
      Resolves the given name to an Endpoint of the specified type (scope is prototype). If the name has a singleton endpoint registered, then the singleton is returned. Otherwise, a new Endpoint is created. The endpoint is NOT registered in the EndpointRegistry as its prototype scoped, and therefore expected to be short lived and discarded after use (you must stop and shutdown the endpoint when no longer in use).
      Parameters:
      uri - the URI of the endpoint
      Returns:
      the endpoint
      See Also:
      • #getEndpoint(String)
    • getPrototypeEndpoint

      Endpoint getPrototypeEndpoint(NormalizedEndpointUri uri)
      Resolves the given name to an Endpoint of the specified type (scope is prototype). If the name has a singleton endpoint registered, then the singleton is returned. Otherwise, a new Endpoint is created. The endpoint is NOT registered in the EndpointRegistry as its prototype scoped, and therefore expected to be short lived and discarded after use (you must stop and shutdown the endpoint when no longer in use).
      Parameters:
      uri - the URI of the endpoint
      Returns:
      the endpoint
      See Also:
      • #getEndpoint(String)
    • hasEndpoint

      Endpoint hasEndpoint(NormalizedEndpointUri uri)
      Is the given endpoint already registered in the EndpointRegistry
      Parameters:
      uri - the URI of the endpoint
      Returns:
      the registered endpoint or null if not registered
    • getEndpoint

      Endpoint getEndpoint(NormalizedEndpointUri uri)
      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 in the EndpointRegistry.
      Parameters:
      uri - the URI of the endpoint
      Returns:
      the endpoint
      See Also:
    • getEndpoint

      Endpoint getEndpoint(NormalizedEndpointUri uri, Map<String,Object> parameters)
      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 in the EndpointRegistry.
      Parameters:
      uri - the URI of the endpoint
      parameters - the parameters to customize the endpoint
      Returns:
      the endpoint
      See Also:
    • normalizeUri

      NormalizedEndpointUri normalizeUri(String uri)
      Normalizes the given uri.
      Parameters:
      uri - the uri
      Returns:
      a normalized uri
    • getRouteStartupOrder

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

      The order may not be according to the startupOrder defined on the route. For example a route could be started manually later, or new routes added at runtime.

      Returns:
      a list in the order how routes was started
    • addBootstrap

      void addBootstrap(BootstrapCloseable bootstrap)
      Adds a BootstrapCloseable task.
    • getServices

      List<Service> getServices()
      Returns an unmodifiable list of the services registered currently in this CamelContext.
    • getExchangeFactory

      ExchangeFactory getExchangeFactory()
      Gets the exchange factory to use.
    • setExchangeFactory

      void setExchangeFactory(ExchangeFactory exchangeFactory)
      Sets a custom exchange factory to use.
    • getExchangeFactoryManager

      ExchangeFactoryManager getExchangeFactoryManager()
      Gets the exchange factory manager to use.
    • setExchangeFactoryManager

      void setExchangeFactoryManager(ExchangeFactoryManager exchangeFactoryManager)
      Sets a custom exchange factory manager to use.
    • getProcessorExchangeFactory

      ProcessorExchangeFactory getProcessorExchangeFactory()
      Gets the processor exchange factory to use.
    • setProcessorExchangeFactory

      void setProcessorExchangeFactory(ProcessorExchangeFactory processorExchangeFactory)
      Sets a custom processor exchange factory to use.
    • getBeanPostProcessor

      CamelBeanPostProcessor getBeanPostProcessor()
      Returns the bean post processor used to do any bean customization.
      Returns:
      the bean post processor.
    • setBeanPostProcessor

      void setBeanPostProcessor(CamelBeanPostProcessor beanPostProcessor)
      Sets a custom bean post processor to use.
    • getDependencyInjectionAnnotationFactory

      CamelDependencyInjectionAnnotationFactory getDependencyInjectionAnnotationFactory()
      Returns the annotation dependency injection factory.
    • setDependencyInjectionAnnotationFactory

      void setDependencyInjectionAnnotationFactory(CamelDependencyInjectionAnnotationFactory factory)
      Sets a custom annotation dependency injection factory.
    • getManagementMBeanAssembler

      ManagementMBeanAssembler getManagementMBeanAssembler()
      Returns the management mbean assembler
      Returns:
      the mbean assembler
    • getErrorHandlerFactory

      ErrorHandlerFactory getErrorHandlerFactory()
      Gets the default error handler builder which is inherited by the routes
      Returns:
      the builder
    • setErrorHandlerFactory

      void setErrorHandlerFactory(ErrorHandlerFactory errorHandlerFactory)
      Sets the default error handler builder which is inherited by the routes
      Parameters:
      errorHandlerFactory - the builder
    • getNodeIdFactory

      NodeIdFactory getNodeIdFactory()
      Gets the node id factory
      Returns:
      the node id factory
    • setNodeIdFactory

      void setNodeIdFactory(NodeIdFactory factory)
      Uses a custom node id factory when generating auto assigned ids to the nodes in the route definitions
      Parameters:
      factory - custom factory to use
    • getComponentResolver

      ComponentResolver getComponentResolver()
      Gets the ComponentResolver to use.
    • setComponentResolver

      void setComponentResolver(ComponentResolver componentResolver)
      Sets a custom ComponentResolver to use.
    • getComponentNameResolver

      ComponentNameResolver getComponentNameResolver()
      Gets the ComponentNameResolver to use.
    • setComponentNameResolver

      void setComponentNameResolver(ComponentNameResolver componentNameResolver)
      Sets a custom ComponentNameResolver to use.
    • getLanguageResolver

      LanguageResolver getLanguageResolver()
      Gets the LanguageResolver to use.
    • setLanguageResolver

      void setLanguageResolver(LanguageResolver languageResolver)
      Sets a custom LanguageResolver to use.
    • getDataFormatResolver

      DataFormatResolver getDataFormatResolver()
      Gets the current data format resolver
      Returns:
      the resolver
    • setDataFormatResolver

      void setDataFormatResolver(DataFormatResolver dataFormatResolver)
      Sets a custom data format resolver
      Parameters:
      dataFormatResolver - the resolver
    • getHealthCheckResolver

      HealthCheckResolver getHealthCheckResolver()
      Gets the current health check resolver
      Returns:
      the resolver
    • setHealthCheckResolver

      void setHealthCheckResolver(HealthCheckResolver healthCheckResolver)
      Sets a custom health check resolver
      Parameters:
      healthCheckResolver - the resolver
    • getDevConsoleResolver

      DevConsoleResolver getDevConsoleResolver()
      Gets the current dev console resolver
      Returns:
      the resolver
    • setDevConsoleResolver

      void setDevConsoleResolver(DevConsoleResolver devConsoleResolver)
      Sets a custom dev console resolver
      Parameters:
      devConsoleResolver - the resolver
    • getPackageScanClassResolver

      PackageScanClassResolver getPackageScanClassResolver()
      Returns the package scanning class resolver
      Returns:
      the resolver
    • setPackageScanClassResolver

      void setPackageScanClassResolver(PackageScanClassResolver resolver)
      Sets the package scanning class resolver to use
      Parameters:
      resolver - the resolver
    • getPackageScanResourceResolver

      PackageScanResourceResolver getPackageScanResourceResolver()
      Returns the package scanning resource resolver
      Returns:
      the resolver
    • setPackageScanResourceResolver

      void setPackageScanResourceResolver(PackageScanResourceResolver resolver)
      Sets the package scanning resource resolver to use
      Parameters:
      resolver - the resolver
    • getDefaultFactoryFinder

      FactoryFinder getDefaultFactoryFinder()
      Gets the default FactoryFinder which will be used for the loading the factory class from META-INF
      Returns:
      the default factory finder
      See Also:
    • getBootstrapFactoryFinder

      FactoryFinder getBootstrapFactoryFinder()
      Gets the bootstrap FactoryFinder which will be used for the loading the factory class from META-INF. This bootstrap factory finder is only intended to be used during bootstrap (starting) CamelContext.
      Returns:
      the bootstrap factory finder
      See Also:
    • setBootstrapFactoryFinder

      void setBootstrapFactoryFinder(FactoryFinder factoryFinder)
      Sets the bootstrap FactoryFinder which will be used for the loading the factory class from META-INF. This bootstrap factory finder is only intended to be used during bootstrap (starting) CamelContext.
      See Also:
    • getBootstrapFactoryFinder

      FactoryFinder getBootstrapFactoryFinder(String path)
      Gets the bootstrap FactoryFinder which will be used for the loading the factory class from META-INF in the given path. This bootstrap factory finder is only intended to be used during bootstrap (starting) CamelContext.
      Parameters:
      path - the META-INF path
      Returns:
      the bootstrap factory finder
      See Also:
    • getBootstrapConfigurerResolver

      ConfigurerResolver getBootstrapConfigurerResolver()
      Gets the bootstrap ConfigurerResolver to use. This bootstrap resolver is only intended to be used during bootstrap (starting) CamelContext.
    • setBootstrapConfigurerResolver

      void setBootstrapConfigurerResolver(ConfigurerResolver configurerResolver)
      sets the bootstrap ConfigurerResolver to use. This bootstrap resolver is only intended to be used during bootstrap (starting) CamelContext.
    • getFactoryFinder

      FactoryFinder getFactoryFinder(String path)
      Gets the FactoryFinder which will be used for the loading the factory class from META-INF in the given path
      Parameters:
      path - the META-INF path
      Returns:
      the factory finder
    • getFactoryFinderResolver

      FactoryFinderResolver getFactoryFinderResolver()
      Gets the factory finder resolver to use
      Returns:
      the factory finder resolver
    • setFactoryFinderResolver

      void setFactoryFinderResolver(FactoryFinderResolver resolver)
      Sets the factory finder resolver to use.
      Parameters:
      resolver - the factory finder resolver
    • getProcessorFactory

      ProcessorFactory getProcessorFactory()
      Gets the current ProcessorFactory
      Returns:
      the factory, can be null if no custom factory has been set
    • setProcessorFactory

      void setProcessorFactory(ProcessorFactory processorFactory)
      Sets a custom ProcessorFactory
      Parameters:
      processorFactory - the custom factory
    • getInternalProcessorFactory

      InternalProcessorFactory getInternalProcessorFactory()
      Gets the current InternalProcessorFactory
      Returns:
      the factory
    • setInternalProcessorFactory

      void setInternalProcessorFactory(InternalProcessorFactory internalProcessorFactory)
      Parameters:
      internalProcessorFactory - the custom factory
    • getInterceptEndpointFactory

      InterceptEndpointFactory getInterceptEndpointFactory()
      Gets the current InterceptEndpointFactory
      Returns:
      the factory
    • setInterceptEndpointFactory

      void setInterceptEndpointFactory(InterceptEndpointFactory interceptEndpointFactory)
      Parameters:
      interceptEndpointFactory - the custom factory
    • getRouteFactory

      RouteFactory getRouteFactory()
      Gets the current RouteFactory
      Returns:
      the factory
    • setRouteFactory

      void setRouteFactory(RouteFactory routeFactory)
      Sets a custom RouteFactory
      Parameters:
      routeFactory - the custom factory
    • getModelJAXBContextFactory

      ModelJAXBContextFactory getModelJAXBContextFactory()
      Returns the JAXB Context factory used to create Models.
      Returns:
      the JAXB Context factory used to create Models.
    • setModelJAXBContextFactory

      void setModelJAXBContextFactory(ModelJAXBContextFactory modelJAXBContextFactory)
      Sets a custom JAXB Context factory to be used
      Parameters:
      modelJAXBContextFactory - a JAXB Context factory
    • getDeferServiceFactory

      DeferServiceFactory getDeferServiceFactory()
      Gets the DeferServiceFactory to use.
    • setDeferServiceFactory

      void setDeferServiceFactory(DeferServiceFactory deferServiceFactory)
      Sets a custom DeferServiceFactory to use.
    • getUnitOfWorkFactory

      UnitOfWorkFactory getUnitOfWorkFactory()
      Gets the UnitOfWorkFactory to use.
    • setUnitOfWorkFactory

      void setUnitOfWorkFactory(UnitOfWorkFactory unitOfWorkFactory)
      Sets a custom UnitOfWorkFactory to use.
    • getAnnotationBasedProcessorFactory

      AnnotationBasedProcessorFactory getAnnotationBasedProcessorFactory()
    • setAnnotationBasedProcessorFactory

      void setAnnotationBasedProcessorFactory(AnnotationBasedProcessorFactory annotationBasedProcessorFactory)
      Sets a custom AnnotationBasedProcessorFactory to use.
    • getBeanProxyFactory

      BeanProxyFactory getBeanProxyFactory()
      Gets the BeanProxyFactory to use.
    • getBeanProcessorFactory

      BeanProcessorFactory getBeanProcessorFactory()
      Gets the BeanProcessorFactory to use.
    • getErrorHandlerExecutorService

      ScheduledExecutorService getErrorHandlerExecutorService()
      Gets the default shared thread pool for error handlers which leverages this for asynchronous redelivery tasks.
    • addInterceptStrategy

      void addInterceptStrategy(InterceptStrategy interceptStrategy)
      Adds the given interceptor strategy
      Parameters:
      interceptStrategy - the strategy
    • getInterceptStrategies

      List<InterceptStrategy> getInterceptStrategies()
      Gets the interceptor strategies
      Returns:
      the list of current interceptor strategies
    • setupManagement

      void setupManagement(Map<String,Object> options)
      Setup management according to whether JMX is enabled or disabled.
      Parameters:
      options - optional parameters to configure ManagementAgent.
    • getLogListeners

      Set<LogListener> getLogListeners()
      Gets a list of LogListener (can be null if empty).
    • addLogListener

      void addLogListener(LogListener listener)
      Adds a LogListener.
    • getAsyncProcessorAwaitManager

      AsyncProcessorAwaitManager getAsyncProcessorAwaitManager()
      Gets the AsyncProcessor await manager.
      Returns:
      the manager
    • setAsyncProcessorAwaitManager

      void setAsyncProcessorAwaitManager(AsyncProcessorAwaitManager manager)
      Sets a custom AsyncProcessor await manager.
      Parameters:
      manager - the manager
    • getBeanIntrospection

      BeanIntrospection getBeanIntrospection()
    • setBeanIntrospection

      void setBeanIntrospection(BeanIntrospection beanIntrospection)
      Sets a custom BeanIntrospection.
    • getHeadersMapFactory

      HeadersMapFactory getHeadersMapFactory()
      Gets the HeadersMapFactory to use.
    • setHeadersMapFactory

      void setHeadersMapFactory(HeadersMapFactory factory)
      Sets a custom HeadersMapFactory to be used.
    • getReactiveExecutor

      ReactiveExecutor getReactiveExecutor()
      Gets the ReactiveExecutor to use.
    • setReactiveExecutor

      void setReactiveExecutor(ReactiveExecutor reactiveExecutor)
      Sets a custom ReactiveExecutor to be used.
    • isEventNotificationApplicable

      boolean isEventNotificationApplicable()
      Whether exchange event notification is applicable (possible). This API is used internally in Camel as optimization. This is only for exchange events as this allows Camel to optimize to avoid preparing exchange events if there are no event listeners that are listening for exchange events.
    • setEventNotificationApplicable

      void setEventNotificationApplicable(boolean eventNotificationApplicable)
      Used as internal optimization in Camel to flag whether exchange event notification is applicable or not. This is only for exchange events as this allows Camel to optimize to avoid preparing exchange events if there are no event listeners that are listening for exchange events.
    • getRoutesLoader

      RoutesLoader getRoutesLoader()
      Gets the RoutesLoader to be used.
    • setRoutesLoader

      void setRoutesLoader(RoutesLoader routesLoader)
      Sets a custom RoutesLoader to be used.
    • getResourceLoader

      ResourceLoader getResourceLoader()
      Gets the ResourceLoader to be used.
    • setResourceLoader

      void setResourceLoader(ResourceLoader resourceLoader)
      Sets a custom ResourceLoader to be used.
    • getModelToXMLDumper

      ModelToXMLDumper getModelToXMLDumper()
      Gets the ModelToXMLDumper to be used.
    • setModelToXMLDumper

      void setModelToXMLDumper(ModelToXMLDumper modelToXMLDumper)
      Sets a custom ModelToXMLDumper to be used.
    • getRestBindingJaxbDataFormatFactory

      RestBindingJaxbDataFormatFactory getRestBindingJaxbDataFormatFactory()
    • setRestBindingJaxbDataFormatFactory

      void setRestBindingJaxbDataFormatFactory(RestBindingJaxbDataFormatFactory restBindingJaxbDataFormatFactory)
      Sets a custom RestBindingJaxbDataFormatFactory to be used.
    • getRuntimeCamelCatalog

      RuntimeCamelCatalog getRuntimeCamelCatalog()
      Gets the RuntimeCamelCatalog if available on the classpath.
    • setRuntimeCamelCatalog

      void setRuntimeCamelCatalog(RuntimeCamelCatalog runtimeCamelCatalog)
      Sets the RuntimeCamelCatalog to use.
    • getConfigurerResolver

      ConfigurerResolver getConfigurerResolver()
      Gets the ConfigurerResolver to use.
    • setConfigurerResolver

      void setConfigurerResolver(ConfigurerResolver configurerResolver)
      Sets the ConfigurerResolver to use.
    • getUriFactoryResolver

      UriFactoryResolver getUriFactoryResolver()
      Gets the UriFactoryResolver to use.
    • setUriFactoryResolver

      void setUriFactoryResolver(UriFactoryResolver uriFactoryResolver)
      Sets the UriFactoryResolver to use.
    • getInternalRouteController

      RouteController getInternalRouteController()
      Internal RouteController that are only used internally by Camel to perform basic route operations. Do not use this as end user.
    • getEndpointUriFactory

      EndpointUriFactory getEndpointUriFactory(String scheme)
      Gets the EndpointUriFactory for the given component name.
    • getStartupStepRecorder

      StartupStepRecorder getStartupStepRecorder()
      Gets the StartupStepRecorder to use.
    • setStartupStepRecorder

      void setStartupStepRecorder(StartupStepRecorder startupStepRecorder)
      Sets the StartupStepRecorder to use.
    • getCliConnectorFactory

      CliConnectorFactory getCliConnectorFactory()
      Gets the CliConnectorFactory (optional).
    • setCliConnectorFactory

      void setCliConnectorFactory(CliConnectorFactory cliConnectorFactory)
      Sets the CliConnectorFactory to use.
    • addRoute

      void addRoute(Route route)
      Internal API for adding routes. Do not use this as end user.
    • removeRoute

      void removeRoute(Route route)
      Internal API for removing routes. Do not use this as end user.
    • createErrorHandler

      Processor createErrorHandler(Route route, Processor processor) throws Exception
      Internal API for creating error handler. Do not use this as end user.
      Throws:
      Exception
    • isLightweight

      boolean isLightweight()
      Whether to run in lightweight mode which triggers some optimizations and memory reduction. Danger this causes Camel to be less dynamic such as adding new route after Camel is started would not be possible.
    • setLightweight

      void setLightweight(boolean lightweight)
      Whether to run in lightweight mode which triggers some optimizations and memory reduction. Danger this causes Camel to be less dynamic such as adding new route after Camel is started would not be possible.
    • disposeModel

      void disposeModel()
      Danger!!! This will dispose the route model from the CamelContext which is used for lightweight mode. This means afterwards no new routes can be dynamically added. Any operations on the org.apache.camel.model.ModelCamelContext will return null or be a noop operation.
    • getTestExcludeRoutes

      String getTestExcludeRoutes()
      Used during unit-testing where it is possible to specify a set of routes to exclude from discovery
    • resolvePropertyPlaceholders

      String resolvePropertyPlaceholders(String text, boolean keepUnresolvedOptional)
      Parses the given text and resolve any property placeholders - using {{key}}.

      Important: If resolving placeholders on an endpoint uri, then you SHOULD use EndpointHelper#resolveEndpointUriPropertyPlaceholders instead.

      Parameters:
      text - the text such as an endpoint uri or the likes
      keepUnresolvedOptional - whether to keep placeholders that are optional and was unresolved
      Returns:
      the text with resolved property placeholders
      Throws:
      IllegalArgumentException - is thrown if property placeholders was used and there was an error resolving them
    • getBasePackageScan

      String getBasePackageScan()
      Package name to use as base (offset) for classpath scanning of custom CamelConfiguration, Configuration, and TypeConverter.
      Returns:
      the base package name (can bre null if not configured)
    • setBasePackageScan

      void setBasePackageScan(String basePackageScan)
      Package name to use as base (offset) for classpath scanning of custom CamelConfiguration, Configuration, and TypeConverter.
      Parameters:
      basePackageScan - the base package name
    • getModelineFactory

      ModelineFactory getModelineFactory()
      Gets the ModelineFactory.
    • setModelineFactory

      void setModelineFactory(ModelineFactory modelineFactory)
      Sets a custom ModelineFactory.
    • getStatusPhase

      byte getStatusPhase()
      The CamelContext have additional phases that are not defined in ServiceStatus and this method provides the phase ordinal value.
    • getPeriodTaskScheduler

      PeriodTaskScheduler getPeriodTaskScheduler()
      Gets the period task scheduler
    • setPeriodTaskScheduler

      void setPeriodTaskScheduler(PeriodTaskScheduler periodTaskScheduler)
      To use a custom period task scheduler
    • getPeriodTaskResolver

      PeriodTaskResolver getPeriodTaskResolver()
      Gets the period task resolver
    • setPeriodTaskResolver

      void setPeriodTaskResolver(PeriodTaskResolver periodTaskResolver)
      To use a custom period task resolver