Class AbstractMessageSource<T>
java.lang.Object
org.springframework.integration.util.AbstractExpressionEvaluator
org.springframework.integration.endpoint.AbstractMessageSource<T>
- Type Parameters:
T- The payload type.
- All Implemented Interfaces:
org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanFactoryAware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean,MessageSource<T>,IntegrationPattern,NamedComponent,IntegrationInboundManagement,IntegrationManagement
- Direct Known Subclasses:
AbstractFetchLimitingMessageSource,ExpressionEvaluatingMessageSource,MessageProcessorMessageSource,MethodInvokingMessageSource,ResourceRetrievingMessageSource
@IntegrationManagedResource public abstract class AbstractMessageSource<T> extends AbstractExpressionEvaluator implements MessageSource<T>, IntegrationInboundManagement, NamedComponent, org.springframework.beans.factory.BeanNameAware
Abstract message source.
- Since:
- 2.0
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class org.springframework.integration.util.AbstractExpressionEvaluator
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME -
Constructor Summary
Constructors Constructor Description AbstractMessageSource() -
Method Summary
Modifier and Type Method Description protected org.springframework.messaging.Message<T>buildMessage(java.lang.Object result)voiddestroy()protected abstract java.lang.ObjectdoReceive()Subclasses must implement this method.java.lang.StringgetBeanName()java.lang.StringgetComponentName()java.lang.StringgetManagedName()java.lang.StringgetManagedType()IntegrationManagement.ManagementOverridesgetOverrides()Return the overrides.booleanisLoggingEnabled()Return whether logging is enabled.org.springframework.messaging.Message<T>receive()Retrieve the next available message from this source.voidregisterMetricsCaptor(MetricsCaptor metricsCaptorToSet)Inject aMetricsCaptorvoidsetBeanName(java.lang.String name)voidsetHeaderExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> headerExpressions)voidsetLoggingEnabled(boolean loggingEnabled)Enable logging or not.voidsetManagedName(java.lang.String managedName)voidsetManagedType(java.lang.String managedType)Methods inherited from class org.springframework.integration.util.AbstractExpressionEvaluator
afterPropertiesSet, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, onInit, setBeanFactory, setConversionServiceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAsMethods inherited from interface org.springframework.integration.core.MessageSource
getIntegrationPatternTypeMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getComponentType
-
Constructor Details
-
AbstractMessageSource
public AbstractMessageSource()
-
-
Method Details
-
setHeaderExpressions
public void setHeaderExpressions(@Nullable java.util.Map<java.lang.String,org.springframework.expression.Expression> headerExpressions) -
registerMetricsCaptor
Description copied from interface:IntegrationManagementInject aMetricsCaptor- Specified by:
registerMetricsCaptorin interfaceIntegrationManagement- Parameters:
metricsCaptorToSet- the captor.
-
setBeanName
public void setBeanName(java.lang.String name)- Specified by:
setBeanNamein interfaceorg.springframework.beans.factory.BeanNameAware
-
getBeanName
public java.lang.String getBeanName()- Specified by:
getBeanNamein interfaceNamedComponent
-
setManagedType
public void setManagedType(java.lang.String managedType)- Specified by:
setManagedTypein interfaceIntegrationManagement
-
getManagedType
public java.lang.String getManagedType()- Specified by:
getManagedTypein interfaceIntegrationManagement
-
setManagedName
public void setManagedName(java.lang.String managedName)- Specified by:
setManagedNamein interfaceIntegrationManagement
-
getManagedName
public java.lang.String getManagedName()- Specified by:
getManagedNamein interfaceIntegrationManagement
-
getComponentName
public java.lang.String getComponentName()- Specified by:
getComponentNamein interfaceNamedComponent
-
isLoggingEnabled
public boolean isLoggingEnabled()Description copied from interface:IntegrationManagementReturn whether logging is enabled.- Specified by:
isLoggingEnabledin interfaceIntegrationManagement- Returns:
- true if enabled.
-
setLoggingEnabled
public void setLoggingEnabled(boolean loggingEnabled)Description copied from interface:IntegrationManagementEnable logging or not.- Specified by:
setLoggingEnabledin interfaceIntegrationManagement- Parameters:
loggingEnabled- dalse to disable.
-
getOverrides
Description copied from interface:IntegrationManagementReturn the overrides.- Specified by:
getOverridesin interfaceIntegrationManagement- Returns:
- the overrides.
-
receive
Description copied from interface:MessageSourceRetrieve the next available message from this source. Returnsnullif no message is available.- Specified by:
receivein interfaceMessageSource<T>- Returns:
- The message or null.
-
buildMessage
-
doReceive
@Nullable protected abstract java.lang.Object doReceive()Subclasses must implement this method. Typically the returned value will be thepayloadof type T, but the returned value may also be aMessageinstance whose payload is of type T; also can beAbstractIntegrationMessageBuilderwhich is used for additional headers population.- Returns:
- The value returned.
-
destroy
public void destroy()- Specified by:
destroyin interfaceorg.springframework.beans.factory.DisposableBean- Specified by:
destroyin interfaceIntegrationManagement
-