Class ReactiveRedisStreamMessageHandler

java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractReactiveMessageHandler
org.springframework.integration.redis.outbound.ReactiveRedisStreamMessageHandler
All Implemented Interfaces:
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.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.ReactiveMessageHandler

public class ReactiveRedisStreamMessageHandler extends org.springframework.integration.handler.AbstractReactiveMessageHandler
Implementation of ReactiveMessageHandler which writes Message payload or Message itself (see extractPayload) into a Redis stream using Reactive Stream operations.
Since:
5.4
  • Nested Class Summary

    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
    ReactiveRedisStreamMessageHandler(org.springframework.data.redis.connection.ReactiveRedisConnectionFactory connectionFactory, String streamKey)
    Create an instance based on provided ReactiveRedisConnectionFactory and key for stream.
    ReactiveRedisStreamMessageHandler(org.springframework.data.redis.connection.ReactiveRedisConnectionFactory connectionFactory, org.springframework.expression.Expression streamKeyExpression)
    Create an instance based on provided ReactiveRedisConnectionFactory and expression for stream key.
  • Method Summary

    Modifier and Type
    Method
    Description
     
    protected reactor.core.publisher.Mono<Void>
    handleMessageInternal(org.springframework.messaging.Message<?> message)
     
    protected void
     
    void
    setExtractPayload(boolean extractPayload)
    Set to true to extract the payload; otherwise the entire message is sent.
    void
    setHashMapper(org.springframework.data.redis.hash.HashMapper<String,?,?> hashMapper)
    (Optional) Set the HashMapper used to create reactiveStreamOperations.
    void
    setSerializationContext(org.springframework.data.redis.serializer.RedisSerializationContext<String,?> serializationContext)
     

    Methods inherited from class org.springframework.integration.handler.AbstractReactiveMessageHandler

    handleMessage

    Methods inherited from class org.springframework.integration.handler.MessageHandlerSupport

    buildSendTimer, destroy, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, 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, 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 org.springframework.integration.support.management.IntegrationManagement

    getThisAs

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

    getBeanName, getComponentName
  • Constructor Details

    • ReactiveRedisStreamMessageHandler

      public ReactiveRedisStreamMessageHandler(org.springframework.data.redis.connection.ReactiveRedisConnectionFactory connectionFactory, String streamKey)
      Create an instance based on provided ReactiveRedisConnectionFactory and key for stream.
      Parameters:
      connectionFactory - the ReactiveRedisConnectionFactory to use
      streamKey - the key for stream
    • ReactiveRedisStreamMessageHandler

      public ReactiveRedisStreamMessageHandler(org.springframework.data.redis.connection.ReactiveRedisConnectionFactory connectionFactory, org.springframework.expression.Expression streamKeyExpression)
      Create an instance based on provided ReactiveRedisConnectionFactory and expression for stream key.
      Parameters:
      connectionFactory - the ReactiveRedisConnectionFactory to use
      streamKeyExpression - the SpEL expression to evaluate a key for stream
  • Method Details

    • setSerializationContext

      public void setSerializationContext(org.springframework.data.redis.serializer.RedisSerializationContext<String,?> serializationContext)
    • setHashMapper

      public void setHashMapper(@Nullable org.springframework.data.redis.hash.HashMapper<String,?,?> hashMapper)
      (Optional) Set the HashMapper used to create reactiveStreamOperations. The default HashMapper is defined from the provided RedisSerializationContext
      Parameters:
      hashMapper - the wanted hashMapper
    • setExtractPayload

      public void setExtractPayload(boolean extractPayload)
      Set to true to extract the payload; otherwise the entire message is sent. Default true.
      Parameters:
      extractPayload - false to not extract.
    • getComponentType

      public String getComponentType()
      Specified by:
      getComponentType in interface org.springframework.integration.support.context.NamedComponent
      Overrides:
      getComponentType in class org.springframework.integration.handler.MessageHandlerSupport
    • onInit

      protected void onInit()
      Overrides:
      onInit in class org.springframework.integration.context.IntegrationObjectSupport
    • handleMessageInternal

      protected reactor.core.publisher.Mono<Void> handleMessageInternal(org.springframework.messaging.Message<?> message)
      Specified by:
      handleMessageInternal in class org.springframework.integration.handler.AbstractReactiveMessageHandler