Package org.apache.camel.impl.engine
Class DefaultCamelBeanPostProcessor
java.lang.Object
org.apache.camel.impl.engine.DefaultCamelBeanPostProcessor
- All Implemented Interfaces:
org.apache.camel.CamelContextAware,org.apache.camel.spi.CamelBeanPostProcessor,org.apache.camel.spi.HasCamelContext
public class DefaultCamelBeanPostProcessor
extends Object
implements org.apache.camel.spi.CamelBeanPostProcessor, org.apache.camel.CamelContextAware
A bean post processor which implements the Bean
Integration features in Camel. Features such as the Bean
Injection of objects like
Endpoint and ProducerTemplate
together with support for POJO Consuming via the
Consume annotation along with POJO
Producing via the Produce annotation along with other annotations such as
DynamicRouter for creating a
Dynamic router via annotations. RecipientList for creating
a Recipient List router via annotations.
RoutingSlip for creating a
Routing Slip router via annotations.
Components such as camel-spring can leverage this post-processor to hook in Camel bean post-processing into their
bean processing framework.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final List<org.apache.camel.spi.CamelBeanPostProcessorInjector> protected org.apache.camel.CamelContextprotected CamelPostProcessorHelperprotected booleanprotected Predicate<org.apache.camel.BindToRegistry> protected static final org.slf4j.Loggerprotected boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCamelBeanPostProjectInjector(org.apache.camel.spi.CamelBeanPostProcessorInjector injector) protected booleanWhether support for the annotationBindToRegistryis supported.protected booleancanPostProcessBean(Object bean, String beanName) protected booleancanSetCamelContext(Object bean, String beanName) org.apache.camel.CamelContextPredicate<org.apache.camel.BindToRegistry> org.apache.camel.CamelContextStrategy to get theCamelContextto use.Strategy to get theCamelPostProcessorHelperprotected voidprotected voidprotected voidinjectCamelContextPass(Object bean, String beanName) protected voidinjectClass(Object bean, String beanName) protected voidvoidvoidinjectField(Field field, String endpointUri, String endpointProperty, Object bean, String beanName, boolean binding) voidinjectFieldBean(Field field, String name, Object bean, String beanName) voidinjectFieldBeanConfig(Field field, String name, Object bean, String beanName) voidinjectFieldProperty(Field field, String propertyName, String propertyDefaultValue, String propertySeparator, Object bean) protected voidprotected voidprotected voidprotected voidinjectNestedClasses(Object bean, String beanName) protected voidbooleanprotected booleanisLazyBean(org.apache.camel.BindToRegistry ann) booleanpostProcessAfterInitialization(Object bean, String beanName) postProcessBeforeInitialization(Object bean, String beanName) voidsetCamelContext(org.apache.camel.CamelContext camelContext) voidsetEnabled(boolean enabled) voidsetLazyBeanStrategy(Predicate<org.apache.camel.BindToRegistry> lazyBeanStrategy) voidsetterBeanConfigInjection(Method method, String name, Object bean, String beanName) voidsetterBeanInjection(Method method, String name, Object bean, String beanName) protected voidsetterInjection(Method method, Object bean, String beanName) voidsetterInjection(Method method, Object bean, String beanName, String endpointUri, String endpointProperty) voidsetterPropertyInjection(Method method, String propertyValue, String propertyDefaultValue, String propertySeparator, Object bean) voidsetUnbindEnabled(boolean unbindEnabled)
-
Field Details
-
LOG
protected static final org.slf4j.Logger LOG -
beanPostProcessorInjectors
protected final List<org.apache.camel.spi.CamelBeanPostProcessorInjector> beanPostProcessorInjectors -
camelPostProcessorHelper
-
camelContext
protected org.apache.camel.CamelContext camelContext -
enabled
protected boolean enabled -
unbindEnabled
protected boolean unbindEnabled -
lazyBeanStrategy
-
-
Constructor Details
-
DefaultCamelBeanPostProcessor
public DefaultCamelBeanPostProcessor() -
DefaultCamelBeanPostProcessor
public DefaultCamelBeanPostProcessor(org.apache.camel.CamelContext camelContext)
-
-
Method Details
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext()- Specified by:
getCamelContextin interfaceorg.apache.camel.spi.HasCamelContext
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext) - Specified by:
setCamelContextin interfaceorg.apache.camel.CamelContextAware
-
setEnabled
public void setEnabled(boolean enabled) - Specified by:
setEnabledin interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
isEnabled
public boolean isEnabled()- Specified by:
isEnabledin interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
isUnbindEnabled
public boolean isUnbindEnabled()- Specified by:
isUnbindEnabledin interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
setUnbindEnabled
public void setUnbindEnabled(boolean unbindEnabled) - Specified by:
setUnbindEnabledin interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
getLazyBeanStrategy
- Specified by:
getLazyBeanStrategyin interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
setLazyBeanStrategy
- Specified by:
setLazyBeanStrategyin interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
addCamelBeanPostProjectInjector
public void addCamelBeanPostProjectInjector(org.apache.camel.spi.CamelBeanPostProcessorInjector injector) - Specified by:
addCamelBeanPostProjectInjectorin interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
postProcessBeforeInitialization
- Specified by:
postProcessBeforeInitializationin interfaceorg.apache.camel.spi.CamelBeanPostProcessor- Throws:
Exception
-
postProcessAfterInitialization
- Specified by:
postProcessAfterInitializationin interfaceorg.apache.camel.spi.CamelBeanPostProcessor- Throws:
Exception
-
getOrLookupCamelContext
public org.apache.camel.CamelContext getOrLookupCamelContext()Strategy to get theCamelContextto use. -
getPostProcessorHelper
Strategy to get theCamelPostProcessorHelper -
canPostProcessBean
-
bindToRegistrySupported
protected boolean bindToRegistrySupported()Whether support for the annotationBindToRegistryis supported. This is only intended for standalone runtimes such as camel-main, camel-quarkus, etc. -
canSetCamelContext
-
injectCamelContextPass
-
injectFirstPass
-
injectSecondPass
-
injectEndpointFields
-
injectFields
-
injectBindToRegistryFields
-
injectField
-
injectField
-
injectFieldBean
-
injectFieldBeanConfig
-
injectFieldProperty
-
injectMethods
-
injectBindToRegistryMethods
-
injectClass
-
injectNestedClasses
-
setterInjection
-
isLazyBean
protected boolean isLazyBean(org.apache.camel.BindToRegistry ann) -
setterInjection
-
setterPropertyInjection
-
setterBeanInjection
-
setterBeanConfigInjection
-