Package org.apache.camel.spi
package org.apache.camel.spi
Service Provider Interfaces used by the Camel runtime which are plugin strategies.
-
ClassDescriptionAccess to a repository to store aggregated exchanges to support pluggable implementations.Factory to create
Processor
for annotation based EIPs.ATypeConverter
which is capable of annotation scanning forConverter
classes and add these as type converters.Represents an API method as part of a parent API.Used for annotating aUriParam
parameter that its for use by API based endpoints.Used to annotate a nested configuration parameter type (such as a nested Configuration object) which can then be used on a API based component, endpoint.Indicates that the Camel string/expression should be used as an endpoint uri.Indicates that the Camel language/expression should be used as predicate.A manager to handle async routing engine, whenExchange
s are being handed over from one thread to another, while the callee thread is blocked waiting for the other threads to complete, before it can continue.Information about the thread and exchange that are inflight.Utilization statistics of this manager.A marker for defining the policy to be used for applying authorization to routes.Marker interface forLifecycleStrategy
that are used for auto-wiring components, data formats and languages.Backlog tracer that captures the last N messages during routing in a backlog.Represents a traced message by the BacklogTracer.Used for introspecting beans properties via Java reflection; such as extracting current property values, or updating one or more properties etc.Structure of an introspected class.Structure of an introspected method.Factory for creating aProcessor
that can invoke a method on a bean and supporting using Camel bean parameter bindings.A factory for creating aProxy
for a bean.Represents a bean repository used to lookup components by name and type.A marker interface for a service, or other kind of process that is only used during bootstrapping Camel.Breakpoint
are used by theDebugger
API.State of the breakpoint as either active or suspended.An optional interface anEndpoint
may choose to implement which allows it to expose a way of browsing the exchanges available.Bulk type converters that often comes out of the box with Apache Camel.Bean post processor.Used for custom injection when doingCamelBeanPostProcessor
bean post-processing.To apply custom configurations toCamelContext
instances.Strategy for assigning name to aCamelContext
.ACamelContext
creation and destruction tracker.A factory which performs the task from Camel dependency injection annotations on a field, property or method parameter of a specified type.This interface is implemented by all events.Special event only in use for camel-tracing / camel-opentelemetry.This interface is implemented by all events that contain an exception and is used to retrieve the exception in a universal way.An advice (before and after) to execute cross-cutting functionality in the Camel routing engine.A logger which logs to a slf4jLogger
.Access to a repository of keys to implement the Claim Check pattern.A class resolver for loading classes in a loosly coupled manner to cater for different platforms such as standalone, web container, j2ee container and OSGi platforms.LocalCliConnector
that allows Camel CLI to manage local running Camel integrations.Factory for creating connector to CLI tooling.Allows to plugin custom post processors that are processed after the DSL has loaded the source and compiled into a Java object.To apply custom configurations toComponent
instances.ComponentCustomizer.Builder<T extends Component>A fluent builder to create aComponentCustomizer
instance.Used as additional filer mechanism to control if customizers need to be applied or not.Discovers which components are available on the classpath.Represents a resolver of components from a URI to be able to auto-load them using some discovery mechanism likeorg.apache.camel.impl.DefaultComponentResolver
A condition to define when a givenExchange
matches when is being routed.An annotation used to mark classes to indicate code capable of configuring its options via a getter/setters that can be called via CamelsPropertyConfigurer
.A pluggable strategy for resolving different configurers in a loosely coupled mannerStrategy for configurers.Cache containing createdPollingConsumer
.Represents an object that can have an associated content type.SPI strategy for reloadingCamelContext
.Represents a data format used to marshal objects to and from streams such as Java Serialization or using JAXB2 to encode/decode objects using XML or using SOAP encoding.Special accessor for a DataFormatTo apply custom configurations toDataFormat
instances.DataFormatCustomizer.Builder<T extends DataFormat>A fluent builder to create aDataFormatCustomizer
instance.Used as additional filer mechanism to control if customizers need to be applied or not.A factory to createDataFormat
.The name of theDataFormat
which allows to know which kind of data format the implementation is.Represents a resolver of data formats.Represents the data type URN which is used for message data type contract.Annotation to configure a data type transformer with either specifying its name or from/to data types.A debugger which allows tooling to attach breakpoints which is being invoked whenExchange
s is being routed.Factory for creatingDebugger
.Factory to create services such asProducer
s and defer starting the created service, untilCamelContext
has been started.Strategy when 3rd party dependencies are detected during loading routes.Registry to cache endpoints in memory.Endpoint strategy with callback invoked when anEndpoint
is about to be registered to the endpoint registry inCamelContext
.Various statistics about endpoint utilization, such as from EIP patterns that uses dynamic endpoints.An interface used to represent an error handlerAn interface forProcessor
aware of itsErrorHandler
which are wrapped via theChannel
during route initialization, or specially used byRecipientList
EIP annotation.Customizer forErrorHandler
which supports redeliveries.Factory to createevents
that are emitted when such an event occur.Notifier to sendevents
.A Strategy pattern for handling exceptions; particularly in asynchronous processes such as consumers.ManagesExchangeFactory
.A plugin used to turn anExchange
into a String representation usually to be used for logging or tracing purposes.Strategy to create thread pools.When an instance is aware ofExpressionFactory
.Represents anExpression
orPredicate
that supports a result type.A marker interface to identify the object as being a configurer which can provide details about the options the configurer supports.An extendedRoutesBuilderLoader
that is capable of loading from multiple resources in one unit (such as compiling them together).Finder to find factories from the resource classpath, usually META-INF/services/org/apache/camel/.Represents a resolver forFactoryFinder
A auto generatedPropertyConfigurer
for fast configuration of Camel components & endpoints.To allow objects to be injected with an group.A simple marker interface for an object which holds aCamelContext
.A simple marker interface for an object which has belongs to a group Group which is useful for group related operation such as clustering, JMX style APIA simple marker interface for an object which has a unique ID which is useful for referring to objects in REST or JMX style APIsInterface to allow plug-able implementation to filter header to and from Camel message.The direction is either IN or OUT.An interface to represent an object which can make use of injectedHeaderFilterStrategy
.Represents an object which is aware of HTTP responses.To allow objects to be injected with an id, such as EIPProcessor
s which has been defined from Camel routes.Access to a repository of Message IDs to implement the Idempotent Consumer pattern.A repository which tracks in flightExchange
s.Information about the inflight exchange.A pluggable strategy for creating and possibly dependency injecting objects which could be implemented using straight forward reflection or using Spring or CDI to perform dependency injection.A factory to createEndpoint
which are intercepted.This is an endpoint when sending to it, is intercepted and is routed in a detour, with the following flow: before, send to original endpoint (can be skipped), after (optional).The purpose of this interface is to allow an implementation to wrap processors in a route with interceptors.InternalProcessor
that Camel routing engine used during routing for cross cutting functionality such as: ExecuteUnitOfWork
Keeping track which route currently is being routed ExecuteRoutePolicy
Gather JMX performance statics Tracing Debugging Message History Stream CachingTransformer
...A factory used internally by Camel to createProcessor
and other internal building blocks.Marks a method as being invoked for a specific header value.Pluggable strategy for invokingInvokeOnHeader
.Represents a language to be used forExpression
orPredicate
instancesTo apply custom configurations toLanguage
instances.LanguageCustomizer.Builder<T extends Language>A fluent builder to create aLanguageCustomizer
instance.Used as additional filer mechanism to control if customizers need to be applied or not.A pluggable strategy for resolving different languages in a loosely coupled mannerStrategy for lifecycle notifications.A source for properties that can be loaded all at once during initialization, such as loading .properties files.Allows aBeanRepository
to temporary have a local repository take precedence, such as when creating route templates to give more flexibility.An event listener SPI for logging.Camel JMX service agentA specializedInterceptStrategy
which is used for JMX management for EIPs.An assembler to assemble aRequiredModelMBean
which can be used to register the object in JMX.Strategy for assigning the name part of theObjectName
for a managedCamelContext
.Strategy for computingObjectName
names for the various beans that Camel register for management.Strategy for creating the managed object for the various beans Camel register for management.Strategy for management.Service Factory for ManagementStrategyA plugin used to mask a log String, for example security information like password or passphrase.A factory to createMessageHistory
instances.Meta data for EIPs, components, data formats and other Camel conceptsFactory for intercepting sending to endpoint pattern and sending to mock component.Factory for parsing camel-k modeline when running Camel standalone with DSLs.Factory to abstract the creation of the Model's jakarta.xml.bind.JAXBContext.Factory that uses reifiers to build an entity from a given model.SPI for dumping model definitions into XML representation.SPI for dumping model definitions into YAML representation.Represents an object which is aware of the namespaces in which its used such as XPath and XQuery type expressions so that the current namespace context can be injectedFactory to generate unique ids for model nodes.An Uri which has been normalized.Allows to be used in combination with NotifyBuilder as external predicate implementations to compute if the exchange matches.Marker interface used to make it easy to discoverCamelContext
related event handlers from the registry.Notification on an initialized aCamelContext
.Notification on initializing aCamelContext
.Notification on a startedCamelContext
.Notification on starting aCamelContext
.Notification on a stoppedCamelContext
.Notification on stopping aCamelContext
.A specializedAggregationRepository
which also supports optimistic locking.Exception
used by anAggregationRepository
to indicate that an optimistic update error has occurred and that the operation should be retried by the caller.A resolver that can find classes based on package scanning.Filter that can be used with thePackageScanClassResolver
resolver.A resolver that can find resources based on package scanning.Finder to findPeriodicTask
tasks.A shared scheduler to run small period tasks, such as updating internal statistics, or for custom components to have a background task.A manager for internal plugins.A strategy capable of applying interceptors to a processor.Strategy for aPollingConsumer
when polling anEndpoint
.Factory for pooled objects or tasks.Utilization statistics of the this factory.A factory that can be used to create a specific exception when aPredicate
returning false, which can be used by camel-validator and other components.When an instance is aware ofPredicateFactory
.A factory to createProcessor
based on thedefinition
.Cache containing createdProducer
.Callback for sending a exchange message to a endpoint using anAsyncProcessor
capable producer.Component for property placeholders and loading properties from sources (such as .properties file from classpath or file system)A function that is applied instead of looking up a property placeholder.Listener for re-loading aProperties
such as a Camel route.A source for properties.Factory for creating out of the boxPropertiesSource
.A marker interface to identify the object as being configurable via a configurer class.An interface to represent an object which is capable of configuring viaPropertyConfigurer
.A marker interface to identify the object as being a configurer which can provide details about the options the configurer supports.SPI to plugin different reactive engines in the Camel routing engine.A specializedAggregationRepository
which also supports recovery.Represents aBeanRepository
which may also be capable of binding beans to its repository.Strategy for reifiers.SPI strategy for reloading.Describe a resource, such as a file or class path resource.An interface to represent an object which wishes to be injected with theResource
SPI for loading resources.Listener for re-loading aResource
such as a Camel route.SPI strategy for reloadingResource
in an existing runningCamelContext
SPI for loading resources.Allows SPI to plugin aRestApiConsumerFactory
that creates the CamelConsumer
responsible for handling incoming HTTP GET requests from clients that request to access the REST API documentation.Allows SPI to plugin aRestApiProcessorFactory
that creates the CamelProcessor
responsible for servicing and generating the REST API documentation.SPI for setting up XML data format (JAXB) for rest-dsl.Configuration use byRestConsumerFactory
andRestApiConsumerFactory
for Camel components to support the Camelrest
DSL.Allows SPI to plugin aRestConsumerFactory
that creates the CamelConsumer
responsible for handling incoming HTTP requests from clients that request to access REST services which has been created using the rest-dsl.Allows SPI to plugin aRestProducerFactory
that creates the CamelProducer
responsible for performing HTTP requests to call a remote REST service.A registry of all REST services running within theCamelContext
which have been defined and created using the Rest DSL.Details about the REST serviceA factory forRestRegistry
.Controller for managing the lifecycle of all theRoute
's.The last error that happened during changing the route lifecycle, i.e.A factory to createRoute
To allow objects to be injected with the route idPolicy for aRoute
which allows controlling the route at runtime.A factory to createRoutePolicy
and assign to routes automatic.SPI for loadingRoutesBuilder
from aResource
.SPI for loadingRoutesBuilder
from a list ofResource
.Information about a route to be started where we want to control the order in which they are started byCamelContext
.Listener when route templates is loaded from aResource
.Source for parameters used when creating routes from route templates.A registry which listen for runtime usage ofEndpoint
during routing in Camel.Statistics gathered about the endpoint.A pluggable scheduler fororg.apache.camel.support.ScheduledPollConsumer
consumers.Represents aLanguage
which is a general purpose scripting languages such as groovy, joor and others.An entry of detailed information from the recipient uri, which allows theSendDynamicAware
implementation to prepare pre- and post- processor and the static uri to be used for the optimised dynamic to.A Shared (thread safe) internalProcessor
that Camel routing engine used during routing for cross cutting functionality such as: ExecuteUnitOfWork
Keeping track which route currently is being routed ExecuteRoutePolicy
Gather JMX performance statics Tracing Debugging Message History Stream CachingTransformer
...AllowsConsumer
to fine grained control on shutdown which mostly have to cater for in-memory based components.Allows aService
to prepare for shutdown.Pluggable shutdown strategy executed during shutdown of Camel and the active routes.Marker interface to signal that aExecutorService
is simple and tasks are either only submitted viaExecutorService.submit(Runnable)
or executed viaExecutor.execute(Runnable)
methods.To recordStartupStep
during startup to allow to capture diagnostic information to help troubleshoot Camel applications via various tooling such as Java Flight Recorder.StateRepository<K,V> ThisStateRepository
holds a set of key/value pairs for defining a particular state of a component.Strategy for using stream caching.Rule for determine if stream caching should be spooled to disk or kept in-memory.Used for selecting if the memory limit is committed or maximum heap memory setting.Utilization statistics of stream caching.A supervising capableRouteController
that delays the startup of the routes after the camel context startup and takes control of starting the routes in a safe manner.Provides a hook for customProcessor
orComponent
instances to respond to completed or failed processing of anExchange
rather like Spring's TransactionSynchronizationAn extension toSynchronization
which provides route awareness capabilities.A vetoableSynchronization
.Creates ExecutorService and ScheduledExecutorService objects that work with a thread pool for a given ThreadPoolProfile and ThreadFactory.A profile which defines thread pool settings.SPI for tracing messages.A marker for defining the policy to be used for applying transaction to routes.Transformer performs message transformation according to the declared data type.A pluggable strategy to load data types into aTransformerRegistry
.Registry to cache transformers in memory.Resolves data type transformers from given transformer key.A pluggable strategy to load type converters into aTypeConverterRegistry
from some kind of mechanism.Registry for type converters.Utilization statistics of the registry.An object representing the unit of work processing anExchange
which allows the use ofSynchronization
hooks.Factory to createUnitOfWork
.Represents an annotated Camel Endpoint which can have its properties (and the properties on its consumer) injected from the Camel URI path and its query parametersA pluggable strategy for resolving different URI factories in a loosely coupled manner.Represents an injection point of a Camel Uri parameter value on an Endpoint or Consumer, usually configured via a URI style query parameter in a URIUsed to annotate a nested configuration parameter type (such as a nested Configuration object) which can then be used on a Component, Endpoint and/or Consumer and then be configured via Camel URI query arguments.Represents an injection point of a Camel Uri path value (the remaining part of a Camel URI without any query arguments)Generator to generate UUID strings.Validator performs message content validation according to the declared data type.Registry to cache validators in memory.An interface to represent an object which wraps aProcessor
.