Class RabbitStreamMessageHandler

java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.cloud.stream.binder.rabbit.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 
    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

    Modifier and Type
    Method
    Description
    org.springframework.rabbit.stream.producer.RabbitStreamOperations
    Return the RabbitStreamOperations.
    protected void
    handleMessageInternal(org.springframework.messaging.Message<?> requestMessage)
     
    boolean
     
    void
    setConfirmTimeout(long confirmTimeout)
    Set the confirm timeout.
    void
    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
     
    void
     

    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 class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    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 Details

    • RabbitStreamMessageHandler

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

    • 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.
    • setFailureCallback

      public void setFailureCallback(RabbitStreamMessageHandler.FailureCallback failureCallback)
      Set a callback to be invoked when a send fails.
      Parameters:
      failureCallback - the callback.
    • setSync

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

      public void setConfirmTimeout(long confirmTimeout)
      Set the confirm timeout.
      Parameters:
      confirmTimeout - the timeout.
      See Also:
    • 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