public class ApplicationEventListeningMessageProducer extends ExpressionMessageProducerSupport implements GenericApplicationListener
GenericApplicationListener
and
passes Spring ApplicationEvents
within messages.
If a payloadExpression
is provided, it will be evaluated against
the ApplicationEvent instance to create the Message payload. Otherwise, the event itself will be the payload.ApplicationEventMulticaster
,
ExpressionMessageProducerSupport
lifecycleCondition, lifecycleLock
EXPRESSION_PARSER, logger
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
DEFAULT_PHASE
Constructor and Description |
---|
ApplicationEventListeningMessageProducer() |
Modifier and Type | Method and Description |
---|---|
protected void |
doStop()
Take no action by default.
|
String |
getComponentType()
Subclasses may implement this method to provide component type information.
|
int |
getOrder() |
void |
onApplicationEvent(ApplicationEvent event) |
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
void |
setEventTypes(Class<?>... eventTypes)
Set the list of event types (classes that extend ApplicationEvent) that
this adapter should send to the message channel.
|
boolean |
supportsEventType(ResolvableType eventType) |
boolean |
supportsSourceType(Class<?> sourceType) |
evaluatePayloadExpression, setIntegrationEvaluationContext, setPayloadExpression, setPayloadExpressionString
afterSingletonsInstantiated, buildErrorMessage, doStart, getErrorChannel, getErrorMessageAttributes, getIntegrationPatternType, getMessagingTemplate, getOutputChannel, sendErrorMessageIfNecessary, sendMessage, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setOutputChannel, setOutputChannelName, setSendTimeout, setShouldTrack, subscribeToPublisher
destroy, doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stop
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
supportsEventType
getListenerId
forPayload
getBeanName, getComponentName
public ApplicationEventListeningMessageProducer()
public final void setEventTypes(Class<?>... eventTypes)
GenericApplicationListener
with the ApplicationEventMulticaster
which clears the listener cache. The cache will be
refreshed on the next appropriate ApplicationEvent
.eventTypes
- The event types.ApplicationEventMulticaster.addApplicationListener(org.springframework.context.ApplicationListener<?>)
,
supportsEventType(org.springframework.core.ResolvableType)
public String getComponentType()
IntegrationObjectSupport
getComponentType
in interface NamedComponent
getComponentType
in class IntegrationObjectSupport
protected void onInit()
IntegrationObjectSupport
onInit
in class ExpressionMessageProducerSupport
public void onApplicationEvent(ApplicationEvent event)
onApplicationEvent
in interface ApplicationListener<ApplicationEvent>
public boolean supportsEventType(ResolvableType eventType)
supportsEventType
in interface GenericApplicationListener
public boolean supportsSourceType(Class<?> sourceType)
supportsSourceType
in interface SmartApplicationListener
public int getOrder()
getOrder
in interface SmartApplicationListener
getOrder
in interface Ordered
protected void doStop()
MessageProducerSupport
doStop
in class MessageProducerSupport