Class MessageSourcePollerInterceptor
java.lang.Object
org.springframework.batch.integration.chunk.MessageSourcePollerInterceptor
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean
,org.springframework.messaging.support.ChannelInterceptor
public class MessageSourcePollerInterceptor
extends Object
implements org.springframework.messaging.support.ChannelInterceptor, org.springframework.beans.factory.InitializingBean
A
ChannelInterceptor
that turns a pollable channel into a "pass-thru channel":
if a client calls receive()
on the channel it will delegate to a
MessageSource
to pull the message directly from an external source. This is
particularly useful in combination with a message channel in thread scope, in which
case the receive()
can join a transaction which was started by the caller.- Author:
- Dave Syer, Mahmoud Ben Hassine
-
Constructor Summary
ConstructorDescriptionConvenient default constructor for configuration purposes.MessageSourcePollerInterceptor
(org.springframework.integration.core.MessageSource<?> source) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Asserts that mandatory properties are set.boolean
preReceive
(org.springframework.messaging.MessageChannel channel) Receive from theMessageSource
and send immediately to the input channel, so that the call that we are intercepting always a message to receive.void
setChannel
(org.springframework.messaging.MessageChannel channel) Optional MessageChannel for injecting the message received from the source (defaults to the channel intercepted inpreReceive(MessageChannel)
).void
setMessageSource
(org.springframework.integration.core.MessageSource<?> source) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.messaging.support.ChannelInterceptor
afterReceiveCompletion, afterSendCompletion, postReceive, postSend, preSend
-
Constructor Details
-
MessageSourcePollerInterceptor
public MessageSourcePollerInterceptor()Convenient default constructor for configuration purposes. -
MessageSourcePollerInterceptor
public MessageSourcePollerInterceptor(org.springframework.integration.core.MessageSource<?> source) - Parameters:
source
- a message source to poll for messages on receive.
-
-
Method Details
-
setChannel
public void setChannel(org.springframework.messaging.MessageChannel channel) Optional MessageChannel for injecting the message received from the source (defaults to the channel intercepted inpreReceive(MessageChannel)
).- Parameters:
channel
- the channel to set
-
afterPropertiesSet
Asserts that mandatory properties are set.- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Throws:
Exception
- See Also:
-
InitializingBean.afterPropertiesSet()
-
setMessageSource
public void setMessageSource(org.springframework.integration.core.MessageSource<?> source) - Parameters:
source
- a message source to poll for messages on receive.
-
preReceive
public boolean preReceive(org.springframework.messaging.MessageChannel channel) Receive from theMessageSource
and send immediately to the input channel, so that the call that we are intercepting always a message to receive.- Specified by:
preReceive
in interfaceorg.springframework.messaging.support.ChannelInterceptor
- See Also:
-
ChannelInterceptor.preReceive(MessageChannel)
-