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
ConstructorsConstructorDescriptionConvenient default constructor for configuration purposes.MessageSourcePollerInterceptor(org.springframework.integration.core.MessageSource<?> source) -
Method Summary
Modifier and TypeMethodDescriptionvoidAsserts that mandatory properties are set.booleanpreReceive(org.springframework.messaging.MessageChannel channel) Receive from theMessageSourceand send immediately to the input channel, so that the call that we are intercepting always a message to receive.voidsetChannel(org.springframework.messaging.MessageChannel channel) Optional MessageChannel for injecting the message received from the source (defaults to the channel intercepted inpreReceive(MessageChannel)).voidsetMessageSource(org.springframework.integration.core.MessageSource<?> source) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
afterPropertiesSetin 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 theMessageSourceand send immediately to the input channel, so that the call that we are intercepting always a message to receive.- Specified by:
preReceivein interfaceorg.springframework.messaging.support.ChannelInterceptor- See Also:
-
ChannelInterceptor.preReceive(MessageChannel)
-