Class RabbitStreamMessageHandler

  • All Implemented Interfaces:
    org.reactivestreams.Subscriber<org.springframework.messaging.Message<?>>, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.context.Lifecycle, org.springframework.core.Ordered, org.springframework.integration.context.ExpressionCapable, org.springframework.integration.context.Orderable, org.springframework.integration.IntegrationPattern, org.springframework.integration.support.context.NamedComponent, org.springframework.integration.support.management.IntegrationManagement, org.springframework.integration.support.management.TrackableComponent, org.springframework.messaging.MessageHandler, reactor.core.CoreSubscriber<org.springframework.messaging.Message<?>>

    public class RabbitStreamMessageHandler
    extends org.springframework.integration.handler.AbstractMessageHandler
    implements org.springframework.context.Lifecycle
    MessageHandler based on RabbitStreamOperations. TODO: This class will move to Spring Integration in 6.0.
    Since:
    3.2
    Author:
    Gary Russell
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  RabbitStreamMessageHandler.FailureCallback
      Callback for when publishing fails.
      • Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement

        org.springframework.integration.support.management.IntegrationManagement.ManagementOverrides
    • Field Summary

      • Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport

        EXPRESSION_PARSER, logger
      • Fields inherited from interface org.springframework.integration.support.management.IntegrationManagement

        METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
      • Fields inherited from interface org.springframework.core.Ordered

        HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
    • Constructor Summary

      Constructors 
      Constructor Description
      RabbitStreamMessageHandler​(org.springframework.rabbit.stream.producer.RabbitStreamOperations streamOperations)
      Create an instance with the provided RabbitStreamOperations.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.springframework.rabbit.stream.producer.RabbitStreamOperations getStreamOperations()
      Return the RabbitStreamOperations.
      protected void handleMessageInternal​(org.springframework.messaging.Message<?> requestMessage)  
      boolean isRunning()  
      void setConfirmTimeout​(long confirmTimeout)
      Set the confirm timeout.
      void setFailureCallback​(RabbitStreamMessageHandler.FailureCallback failureCallback)
      Set a callback to be invoked when a send fails.
      void setHeaderMapper​(org.springframework.integration.amqp.support.AmqpHeaderMapper headerMapper)
      Set a custom AmqpHeaderMapper for mapping request and reply headers.
      void setHeadersMappedLast​(boolean headersMappedLast)
      When mapping headers for the outbound message, determine whether the headers are mapped before the message is converted, or afterwards.
      void setSuccessCallback​(org.springframework.util.concurrent.SuccessCallback<org.springframework.messaging.Message<?>> successCallback)
      Set a callback to be invoked when a send is successful.
      void setSync​(boolean sync)
      Set to true to wait for a confirmation.
      void start()  
      void stop()  
      • Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler

        handleMessage, onComplete, onError, onNext, onSubscribe
      • Methods inherited from class org.springframework.integration.handler.MessageHandlerSupport

        buildSendTimer, destroy, getComponentType, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrack
      • Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport

        afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, onInit, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
      • Methods inherited from interface reactor.core.CoreSubscriber

        currentContext
      • Methods inherited from interface org.springframework.integration.support.management.IntegrationManagement

        getThisAs
      • Methods inherited from interface org.springframework.integration.support.context.NamedComponent

        getBeanName, getComponentName
    • Constructor Detail

      • RabbitStreamMessageHandler

        public RabbitStreamMessageHandler​(org.springframework.rabbit.stream.producer.RabbitStreamOperations streamOperations)
        Create an instance with the provided RabbitStreamOperations.
        Parameters:
        streamOperations - the operations.
    • Method Detail

      • setSuccessCallback

        public void setSuccessCallback​(org.springframework.util.concurrent.SuccessCallback<org.springframework.messaging.Message<?>> successCallback)
        Set a callback to be invoked when a send is successful.
        Parameters:
        successCallback - the callback.
      • setSync

        public void setSync​(boolean sync)
        Set to true to wait for a confirmation.
        Parameters:
        sync - true to wait.
        See Also:
        setConfirmTimeout(long)
      • setConfirmTimeout

        public void setConfirmTimeout​(long confirmTimeout)
        Set the confirm timeout.
        Parameters:
        confirmTimeout - the timeout.
        See Also:
        setSync(boolean)
      • setHeaderMapper

        public void setHeaderMapper​(org.springframework.integration.amqp.support.AmqpHeaderMapper headerMapper)
        Set a custom AmqpHeaderMapper for mapping request and reply headers. Defaults to DefaultAmqpHeaderMapper.outboundMapper().
        Parameters:
        headerMapper - the AmqpHeaderMapper to use.
      • setHeadersMappedLast

        public void setHeadersMappedLast​(boolean headersMappedLast)
        When mapping headers for the outbound message, determine whether the headers are mapped before the message is converted, or afterwards. This only affects headers that might be added by the message converter. When false, the converter's headers win; when true, any headers added by the converter will be overridden (if the source message has a header that maps to those headers). You might wish to set this to true, for example, when using a SimpleMessageConverter with a String payload that contains json; the converter will set the content type to text/plain which can be overridden to application/json by setting the AmqpHeaders.CONTENT_TYPE message header. Default: false.
        Parameters:
        headersMappedLast - true if headers are mapped after conversion.
      • getStreamOperations

        public org.springframework.rabbit.stream.producer.RabbitStreamOperations getStreamOperations()
        Return the RabbitStreamOperations.
        Returns:
        the operations.
      • handleMessageInternal

        protected void handleMessageInternal​(org.springframework.messaging.Message<?> requestMessage)
        Specified by:
        handleMessageInternal in class org.springframework.integration.handler.AbstractMessageHandler
      • start

        public void start()
        Specified by:
        start in interface org.springframework.context.Lifecycle
      • stop

        public void stop()
        Specified by:
        stop in interface org.springframework.context.Lifecycle
      • isRunning

        public boolean isRunning()
        Specified by:
        isRunning in interface org.springframework.context.Lifecycle