Class MessageSourcePollerInterceptor

  • All Implemented Interfaces:
    org.springframework.beans.factory.InitializingBean, org.springframework.messaging.support.ChannelInterceptor

    public class MessageSourcePollerInterceptor
    extends org.springframework.messaging.support.ChannelInterceptorAdapter
    implements 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidafterPropertiesSet()
      Asserts that mandatory properties are set.
      booleanpreReceive​(org.springframework.messaging.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.
      voidsetChannel​(org.springframework.messaging.MessageChannel channel)
      Optional MessageChannel for injecting the message received from the source (defaults to the channel intercepted in preReceive(MessageChannel)).
      voidsetMessageSource​(org.springframework.integration.core.MessageSource<?> source) 
      • Methods inherited from class org.springframework.messaging.support.ChannelInterceptorAdapter

        afterReceiveCompletion, afterSendCompletion, 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.messaging.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 java.lang.Exception
        Asserts that mandatory properties are set.
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
        Throws:
        java.lang.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 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.messaging.support.ChannelInterceptor
        Overrides:
        preReceive in class org.springframework.messaging.support.ChannelInterceptorAdapter
        See Also:
        ChannelInterceptorAdapter.preReceive(MessageChannel)