@IntegrationManagedResource public abstract class AbstractMessageSource<T> extends AbstractExpressionEvaluator implements MessageSource<T>, MessageSourceMetrics, NamedComponent, org.springframework.beans.factory.BeanNameAware
IntegrationManagement.ManagementOverrides
EXPRESSION_PARSER, logger
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
Constructor and Description |
---|
AbstractMessageSource() |
Modifier and Type | Method and Description |
---|---|
protected org.springframework.messaging.Message<T> |
buildMessage(java.lang.Object result) |
protected abstract java.lang.Object |
doReceive()
Subclasses must implement this method.
|
java.lang.String |
getComponentName() |
java.lang.String |
getManagedName() |
java.lang.String |
getManagedType() |
int |
getMessageCount() |
long |
getMessageCountLong() |
IntegrationManagement.ManagementOverrides |
getOverrides()
Return the overrides.
|
boolean |
isCountsEnabled() |
boolean |
isLoggingEnabled() |
org.springframework.messaging.Message<T> |
receive()
Retrieve the next available message from this source.
|
void |
registerMetricsCaptor(MetricsCaptor metricsCaptor)
Inject a
MetricsCaptor |
void |
reset() |
void |
setBeanName(java.lang.String name) |
void |
setCountsEnabled(boolean countsEnabled) |
void |
setHeaderExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> headerExpressions) |
void |
setLoggingEnabled(boolean loggingEnabled) |
void |
setManagedName(java.lang.String managedName) |
void |
setManagedType(java.lang.String managedType) |
afterPropertiesSet, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, setBeanFactory, setConversionService
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setCounter
getComponentType
public void setHeaderExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> headerExpressions)
public void registerMetricsCaptor(MetricsCaptor metricsCaptor)
IntegrationManagement
MetricsCaptor
registerMetricsCaptor
in interface IntegrationManagement
metricsCaptor
- the captor.public void setBeanName(java.lang.String name)
setBeanName
in interface org.springframework.beans.factory.BeanNameAware
public void setManagedType(java.lang.String managedType)
setManagedType
in interface MessageSourceMetrics
public java.lang.String getManagedType()
getManagedType
in interface MessageSourceMetrics
public void setManagedName(java.lang.String managedName)
setManagedName
in interface MessageSourceMetrics
public java.lang.String getManagedName()
getManagedName
in interface MessageSourceMetrics
public java.lang.String getComponentName()
getComponentName
in interface NamedComponent
public boolean isCountsEnabled()
isCountsEnabled
in interface IntegrationManagement
public void setCountsEnabled(boolean countsEnabled)
setCountsEnabled
in interface IntegrationManagement
public boolean isLoggingEnabled()
isLoggingEnabled
in interface IntegrationManagement
public void setLoggingEnabled(boolean loggingEnabled)
setLoggingEnabled
in interface IntegrationManagement
public void reset()
reset
in interface IntegrationManagement
public int getMessageCount()
getMessageCount
in interface MessageSourceMetrics
public long getMessageCountLong()
getMessageCountLong
in interface MessageSourceMetrics
public IntegrationManagement.ManagementOverrides getOverrides()
IntegrationManagement
getOverrides
in interface IntegrationManagement
public final org.springframework.messaging.Message<T> receive()
MessageSource
null
if no message is available.receive
in interface MessageSource<T>
protected org.springframework.messaging.Message<T> buildMessage(java.lang.Object result)
protected abstract java.lang.Object doReceive()
payload
of
type T, but the returned value may also be a Message
instance whose payload is of type T;
also can be AbstractIntegrationMessageBuilder
which is used for additional headers population.