org.springframework.batch.integration.chunk
Class MessageSourcePollerInterceptor

java.lang.Object
  extended by org.springframework.integration.channel.interceptor.ChannelInterceptorAdapter
      extended by org.springframework.batch.integration.chunk.MessageSourcePollerInterceptor
All Implemented Interfaces:
InitializingBean, org.springframework.integration.channel.ChannelInterceptor

public class MessageSourcePollerInterceptor
extends org.springframework.integration.channel.interceptor.ChannelInterceptorAdapter
implements 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

Constructor Summary
MessageSourcePollerInterceptor()
          Convenient default constructor for configuration purposes.
MessageSourcePollerInterceptor(org.springframework.integration.core.MessageSource<?> source)
           
 
Method Summary
 void afterPropertiesSet()
          Asserts that mandatory properties are set.
 boolean preReceive(org.springframework.integration.MessageChannel channel)
          Receive from the MessageSource and send immediately to the input channel, so that the call that we are intercepting always a message to receive.
 void setChannel(org.springframework.integration.MessageChannel channel)
          Optional MessageChannel for injecting the message received from the source (defaults to the channel intercepted in preReceive(MessageChannel)).
 void setMessageSource(org.springframework.integration.core.MessageSource<?> source)
           
 
Methods inherited from class org.springframework.integration.channel.interceptor.ChannelInterceptorAdapter
postReceive, postSend, preSend
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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 Detail

setChannel

public void setChannel(org.springframework.integration.MessageChannel channel)
Optional MessageChannel for injecting the message received from the source (defaults to the channel intercepted in preReceive(MessageChannel)).

Parameters:
channel - the channel to set

afterPropertiesSet

public void afterPropertiesSet()
                        throws Exception
Asserts that mandatory properties are set.

Specified by:
afterPropertiesSet in interface 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.integration.MessageChannel channel)
Receive from the MessageSource and send immediately to the input channel, so that the call that we are intercepting always a message to receive.

Specified by:
preReceive in interface org.springframework.integration.channel.ChannelInterceptor
Overrides:
preReceive in class org.springframework.integration.channel.interceptor.ChannelInterceptorAdapter
See Also:
ChannelInterceptorAdapter.preReceive(MessageChannel)


Copyright © 2011. All Rights Reserved.