Class IntegrationObjectSupport
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
- All Implemented Interfaces:
org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanFactoryAware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware,ExpressionCapable,NamedComponent
- Direct Known Subclasses:
AbstractEndpoint,AbstractHandleMessageAdvice,AbstractMessageChannel,AbstractRequestHandlerAdvice,AbstractTransformer,CodecMessageConverter,DefaultHeaderChannelRegistry,ExpressionEvaluatingTransactionSynchronizationProcessor,HeaderEnricher,HeaderFilter,MessageHandlerSupport
public abstract class IntegrationObjectSupport
extends Object
implements org.springframework.beans.factory.BeanNameAware, NamedComponent, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean, ExpressionCapable
A base class that provides convenient access to the bean factory as
well as
TaskScheduler and ConversionService instances.
This is intended to be used as a base class for internal framework components whereas code built upon the integration framework should not require tight coupling with the context but rather rely on standard dependency injection.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final org.springframework.expression.ExpressionParserprotected final org.springframework.core.log.LogAccessor -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidstatic <T> TextractTypeIfPossible(Object targetObject, Class<T> expectedType) static UUIDprotected org.springframework.context.ApplicationContextReturns theApplicationContext.getId()if theApplicationContextis available.protected org.springframework.beans.factory.BeanFactoryprotected org.springframework.messaging.core.DestinationResolver<org.springframework.messaging.MessageChannel>Will return the name of this component identified bycomponentNamefield.Subclasses may implement this method to provide component type information.org.springframework.core.convert.ConversionServiceorg.springframework.expression.ExpressionReturn the primary SpEL expression if this component is expression-based.protected IntegrationPropertiesprotected <T> TgetIntegrationProperty(String key, Class<T> tClass) Deprecated.protected MessageBuilderFactoryprotected org.springframework.scheduling.TaskSchedulerprotected booleanReturn the status of this component if it has been initialized already.protected voidonInit()Subclasses may implement this for initialization logic.voidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext) voidsetBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) final voidsetBeanName(String beanName) voidsetChannelResolver(org.springframework.messaging.core.DestinationResolver<org.springframework.messaging.MessageChannel> channelResolver) Specify theDestinationResolverstrategy to use.voidsetComponentName(String componentName) Sets the name of this component.protected voidsetConversionService(org.springframework.core.convert.ConversionService conversionService) voidsetMessageBuilderFactory(MessageBuilderFactory messageBuilderFactory) final voidsetPrimaryExpression(org.springframework.expression.Expression expression) For expression-based components, set the primary expression.voidsetTaskScheduler(org.springframework.scheduling.TaskScheduler taskScheduler) Configure aTaskSchedulerfor those components which logic relies on the scheduled tasks.toString()
-
Field Details
-
EXPRESSION_PARSER
protected static final org.springframework.expression.ExpressionParser EXPRESSION_PARSER -
logger
protected final org.springframework.core.log.LogAccessor logger
-
-
Constructor Details
-
IntegrationObjectSupport
public IntegrationObjectSupport()
-
-
Method Details
-
setBeanName
- Specified by:
setBeanNamein interfaceorg.springframework.beans.factory.BeanNameAware
-
getBeanName
- Specified by:
getBeanNamein interfaceNamedComponent
-
getComponentName
Will return the name of this component identified bycomponentNamefield. IfcomponentNamewas not set this method will default to the 'beanName' of this component;- Specified by:
getComponentNamein interfaceNamedComponent
-
setComponentName
Sets the name of this component.- Parameters:
componentName- The component name.
-
getComponentType
Subclasses may implement this method to provide component type information.- Specified by:
getComponentTypein interfaceNamedComponent
-
getBeanDescription
-
setBeanFactory
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) - Specified by:
setBeanFactoryin interfaceorg.springframework.beans.factory.BeanFactoryAware
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException - Specified by:
setApplicationContextin interfaceorg.springframework.context.ApplicationContextAware- Throws:
org.springframework.beans.BeansException
-
setChannelResolver
public void setChannelResolver(org.springframework.messaging.core.DestinationResolver<org.springframework.messaging.MessageChannel> channelResolver) Specify theDestinationResolverstrategy to use. The default is a BeanFactoryChannelResolver.- Parameters:
channelResolver- The channel resolver.
-
getExpression
public org.springframework.expression.Expression getExpression()Description copied from interface:ExpressionCapableReturn the primary SpEL expression if this component is expression-based.- Specified by:
getExpressionin interfaceExpressionCapable- Returns:
- the expression as a String.
-
setPrimaryExpression
public final void setPrimaryExpression(org.springframework.expression.Expression expression) For expression-based components, set the primary expression.- Parameters:
expression- the expression.- Since:
- 4.3
-
afterPropertiesSet
public final void afterPropertiesSet()- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
onInit
protected void onInit()Subclasses may implement this for initialization logic. -
isInitialized
protected boolean isInitialized()Return the status of this component if it has been initialized already.- Returns:
- the flag if this component has been initialized already.
-
getBeanFactory
protected org.springframework.beans.factory.BeanFactory getBeanFactory() -
setTaskScheduler
public void setTaskScheduler(org.springframework.scheduling.TaskScheduler taskScheduler) Configure aTaskSchedulerfor those components which logic relies on the scheduled tasks. If not provided, falls back to the globaltaskSchedulerbean in the application context, provided by the Spring Integration infrastructure.- Parameters:
taskScheduler- theTaskSchedulerto use.- Since:
- 5.1.3
- See Also:
-
getTaskScheduler
protected org.springframework.scheduling.TaskScheduler getTaskScheduler() -
getChannelResolver
protected org.springframework.messaging.core.DestinationResolver<org.springframework.messaging.MessageChannel> getChannelResolver() -
getConversionService
public org.springframework.core.convert.ConversionService getConversionService() -
setConversionService
protected void setConversionService(org.springframework.core.convert.ConversionService conversionService) -
getApplicationContextId
Returns theApplicationContext.getId()if theApplicationContextis available.- Returns:
- The id, or null if there is no application context.
-
getApplicationContext
protected org.springframework.context.ApplicationContext getApplicationContext()- Returns:
- the applicationContext
-
getIntegrationProperties
- Returns:
- The global integration properties.
- See Also:
-
getMessageBuilderFactory
-
setMessageBuilderFactory
-
getIntegrationProperty
Deprecated.in favor ofgetIntegrationProperties()- Type Parameters:
T- The expected type of the property.- Parameters:
key- Integration property.tClass- the class to convert a value of Integration property.- Returns:
- the value of the Integration property converted to the provide type.
-
toString
-
extractTypeIfPossible
-
generateId
-
getIntegrationProperties()