Class PollingConsumer
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.endpoint.AbstractPollingEndpoint
org.springframework.integration.endpoint.PollingConsumer
- All Implemented Interfaces:
Aware
,BeanClassLoaderAware
,BeanFactoryAware
,BeanNameAware
,DisposableBean
,InitializingBean
,ApplicationContextAware
,Lifecycle
,Phased
,SmartLifecycle
,ExpressionCapable
,IntegrationConsumer
,NamedComponent
,ManageableLifecycle
,ManageableSmartLifecycle
public class PollingConsumer extends AbstractPollingEndpoint implements IntegrationConsumer
Message Endpoint that connects any
MessageHandler
implementation
to a PollableChannel
.- Author:
- Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan
-
Field Summary
Fields Modifier and Type Field Description static long
DEFAULT_RECEIVE_TIMEOUT
A default receive timeout as 1000L milliseconds.Fields inherited from class org.springframework.integration.endpoint.AbstractPollingEndpoint
DEFAULT_POLLING_PERIOD
Fields inherited from class org.springframework.integration.endpoint.AbstractEndpoint
lifecycleCondition, lifecycleLock
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, logger
-
Constructor Summary
Constructors Constructor Description PollingConsumer(PollableChannel inputChannel, MessageHandler handler)
-
Method Summary
Modifier and Type Method Description protected void
doStart()
Subclasses must implement this method with the start behavior.protected void
doStop()
Subclasses must implement this method with the stop behavior.MessageHandler
getHandler()
Return the consumer's handler.MessageChannel
getInputChannel()
Return the input channel.MessageChannel
getOutputChannel()
Return the output channel (may be null).protected Object
getReceiveMessageSource()
protected String
getResourceKey()
Return the key under which the resource will be made available as an attribute on theIntegrationResourceHolder
.protected Object
getResourceToBind()
Return a resource (MessageSource etc) to bind when using transaction synchronization.protected void
handleMessage(Message<?> message)
Handle a message.protected boolean
isReactive()
protected Message<?>
receiveMessage()
Obtain the next message (if one is available).protected void
setReceiveMessageSource(Object source)
void
setReceiveTimeout(long receiveTimeout)
Methods inherited from class org.springframework.integration.endpoint.AbstractPollingEndpoint
applyReceiveOnlyAdviceChain, getBeanClassLoader, getDefaultErrorChannel, getMaxMessagesPerPoll, getPollingFlux, getTaskExecutor, isReceiveOnlyAdvice, isSyncExecutor, onInit, setAdviceChain, setBeanClassLoader, setErrorHandler, setMaxMessagesPerPoll, setTaskExecutor, setTransactionSynchronizationFactory, setTrigger
Methods inherited from class org.springframework.integration.endpoint.AbstractEndpoint
destroy, doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stop
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getComponentType, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName, getComponentType
-
Field Details
-
DEFAULT_RECEIVE_TIMEOUT
public static final long DEFAULT_RECEIVE_TIMEOUTA default receive timeout as 1000L milliseconds.- See Also:
- Constant Field Values
-
-
Constructor Details
-
Method Details
-
setReceiveTimeout
public void setReceiveTimeout(long receiveTimeout) -
getInputChannel
Description copied from interface:IntegrationConsumer
Return the input channel.- Specified by:
getInputChannel
in interfaceIntegrationConsumer
- Returns:
- the input channel.
-
getOutputChannel
Description copied from interface:IntegrationConsumer
Return the output channel (may be null).- Specified by:
getOutputChannel
in interfaceIntegrationConsumer
- Returns:
- the output channel.
-
getHandler
Description copied from interface:IntegrationConsumer
Return the consumer's handler.- Specified by:
getHandler
in interfaceIntegrationConsumer
- Returns:
- the handler.
-
getReceiveMessageSource
- Overrides:
getReceiveMessageSource
in classAbstractPollingEndpoint
-
setReceiveMessageSource
- Overrides:
setReceiveMessageSource
in classAbstractPollingEndpoint
-
isReactive
protected boolean isReactive()- Overrides:
isReactive
in classAbstractPollingEndpoint
-
doStart
protected void doStart()Description copied from class:AbstractEndpoint
Subclasses must implement this method with the start behavior. This method will be invoked while holding theAbstractEndpoint.lifecycleLock
.- Overrides:
doStart
in classAbstractPollingEndpoint
-
doStop
protected void doStop()Description copied from class:AbstractEndpoint
Subclasses must implement this method with the stop behavior. This method will be invoked while holding theAbstractEndpoint.lifecycleLock
.- Overrides:
doStop
in classAbstractPollingEndpoint
-
handleMessage
Description copied from class:AbstractPollingEndpoint
Handle a message.- Specified by:
handleMessage
in classAbstractPollingEndpoint
- Parameters:
message
- The message.
-
receiveMessage
Description copied from class:AbstractPollingEndpoint
Obtain the next message (if one is available). MAY return null if no message is immediately available.- Specified by:
receiveMessage
in classAbstractPollingEndpoint
- Returns:
- The message or null.
-
getResourceToBind
Description copied from class:AbstractPollingEndpoint
Return a resource (MessageSource etc) to bind when using transaction synchronization.- Overrides:
getResourceToBind
in classAbstractPollingEndpoint
- Returns:
- The resource, or null if transaction synchronization is not required.
-
getResourceKey
Description copied from class:AbstractPollingEndpoint
Return the key under which the resource will be made available as an attribute on theIntegrationResourceHolder
. The defaultExpressionEvaluatingTransactionSynchronizationProcessor
makes this attribute available as a variable in SpEL expressions.- Overrides:
getResourceKey
in classAbstractPollingEndpoint
- Returns:
- The key, or null (default) if the resource shouldn't be made available as a attribute.
-