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, logger
Fields 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)
void
destroy()
protected abstract java.lang.Object
doReceive()
Subclasses must implement this method.java.lang.String
getBeanName()
java.lang.String
getComponentName()
java.lang.String
getManagedName()
java.lang.String
getManagedType()
IntegrationManagement.ManagementOverrides
getOverrides()
Return the overrides.boolean
isLoggingEnabled()
Return whether logging is enabled.org.springframework.messaging.Message<T>
receive()
Retrieve the next available message from this source.void
registerMetricsCaptor(MetricsCaptor metricsCaptorToSet)
Inject aMetricsCaptor
.void
setBeanName(java.lang.String name)
void
setHeaderExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> headerExpressions)
void
setLoggingEnabled(boolean loggingEnabled)
Enable logging or not.void
setManagedName(java.lang.String managedName)
void
setManagedType(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, setConversionService
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAs
Methods inherited from interface org.springframework.integration.core.MessageSource
getIntegrationPatternType
Methods 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:IntegrationManagement
Inject aMetricsCaptor
.- Specified by:
registerMetricsCaptor
in interfaceIntegrationManagement
- Parameters:
metricsCaptorToSet
- the captor.
-
setBeanName
public void setBeanName(java.lang.String name)- Specified by:
setBeanName
in interfaceorg.springframework.beans.factory.BeanNameAware
-
getBeanName
public java.lang.String getBeanName()- Specified by:
getBeanName
in interfaceNamedComponent
-
setManagedType
public void setManagedType(java.lang.String managedType)- Specified by:
setManagedType
in interfaceIntegrationManagement
-
getManagedType
public java.lang.String getManagedType()- Specified by:
getManagedType
in interfaceIntegrationManagement
-
setManagedName
public void setManagedName(java.lang.String managedName)- Specified by:
setManagedName
in interfaceIntegrationManagement
-
getManagedName
public java.lang.String getManagedName()- Specified by:
getManagedName
in interfaceIntegrationManagement
-
getComponentName
public java.lang.String getComponentName()- Specified by:
getComponentName
in interfaceNamedComponent
-
isLoggingEnabled
public boolean isLoggingEnabled()Description copied from interface:IntegrationManagement
Return whether logging is enabled.- Specified by:
isLoggingEnabled
in interfaceIntegrationManagement
- Returns:
- true if enabled.
-
setLoggingEnabled
public void setLoggingEnabled(boolean loggingEnabled)Description copied from interface:IntegrationManagement
Enable logging or not.- Specified by:
setLoggingEnabled
in interfaceIntegrationManagement
- Parameters:
loggingEnabled
- dalse to disable.
-
getOverrides
Description copied from interface:IntegrationManagement
Return the overrides.- Specified by:
getOverrides
in interfaceIntegrationManagement
- Returns:
- the overrides.
-
receive
Description copied from interface:MessageSource
Retrieve the next available message from this source. Returnsnull
if no message is available.- Specified by:
receive
in 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 thepayload
of type T, but the returned value may also be aMessage
instance whose payload is of type T; also can beAbstractIntegrationMessageBuilder
which is used for additional headers population.- Returns:
- The value returned.
-
destroy
public void destroy()- Specified by:
destroy
in interfaceorg.springframework.beans.factory.DisposableBean
- Specified by:
destroy
in interfaceIntegrationManagement
-