@IntegrationManagedResource public abstract class AbstractMessageSource<T> extends AbstractExpressionEvaluator implements MessageSource<T>, MessageSourceMetrics, NamedComponent, 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 Message<T> |
buildMessage(Object result) |
void |
destroy() |
protected abstract Object |
doReceive()
Subclasses must implement this method.
|
String |
getBeanName() |
String |
getComponentName() |
String |
getManagedName() |
String |
getManagedType() |
int |
getMessageCount()
Deprecated.
in favor of Micrometer metrics.
|
long |
getMessageCountLong()
Deprecated.
in favor of Micrometer metrics.
|
IntegrationManagement.ManagementOverrides |
getOverrides()
Return the overrides.
|
boolean |
isCountsEnabled()
Deprecated.
|
boolean |
isLoggingEnabled() |
Message<T> |
receive()
Retrieve the next available message from this source.
|
void |
registerMetricsCaptor(MetricsCaptor metricsCaptorToSet)
Inject a
MetricsCaptor |
void |
reset()
Deprecated.
in favor of Micrometer metrics.
|
void |
setBeanName(String name) |
void |
setCountsEnabled(boolean countsEnabled)
Deprecated.
|
void |
setHeaderExpressions(Map<String,Expression> headerExpressions) |
void |
setLoggingEnabled(boolean loggingEnabled) |
void |
setManagedName(String managedName) |
void |
setManagedType(String managedType) |
afterPropertiesSet, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, onInit, setBeanFactory, setConversionService
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getIntegrationPatternType
messageCount
getComponentType
public void setHeaderExpressions(@Nullable Map<String,Expression> headerExpressions)
public void registerMetricsCaptor(MetricsCaptor metricsCaptorToSet)
IntegrationManagement
MetricsCaptor
registerMetricsCaptor
in interface IntegrationManagement
metricsCaptorToSet
- the captor.public void setBeanName(String name)
setBeanName
in interface BeanNameAware
public String getBeanName()
getBeanName
in interface NamedComponent
public void setManagedType(String managedType)
setManagedType
in interface MessageSourceMetrics
public String getManagedType()
getManagedType
in interface MessageSourceMetrics
public void setManagedName(String managedName)
setManagedName
in interface MessageSourceMetrics
public String getManagedName()
getManagedName
in interface MessageSourceMetrics
public String getComponentName()
getComponentName
in interface NamedComponent
public boolean isCountsEnabled()
IntegrationManagement
isCountsEnabled
in interface IntegrationManagement
public void setCountsEnabled(boolean countsEnabled)
IntegrationManagement
setCountsEnabled
in interface IntegrationManagement
countsEnabled
- the countsEnabledpublic boolean isLoggingEnabled()
isLoggingEnabled
in interface IntegrationManagement
public void setLoggingEnabled(boolean loggingEnabled)
setLoggingEnabled
in interface IntegrationManagement
@Deprecated public void reset()
reset
in interface IntegrationManagement
@Deprecated public int getMessageCount()
getMessageCount
in interface MessageSourceMetrics
@Deprecated public long getMessageCountLong()
getMessageCountLong
in interface MessageSourceMetrics
public IntegrationManagement.ManagementOverrides getOverrides()
IntegrationManagement
getOverrides
in interface IntegrationManagement
public final Message<T> receive()
MessageSource
null
if no message is available.receive
in interface MessageSource<T>
@Nullable protected abstract 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.public void destroy()
destroy
in interface DisposableBean
destroy
in interface IntegrationManagement