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:
- Aware,- BeanFactoryAware,- BeanNameAware,- DisposableBean,- InitializingBean,- ApplicationContextAware,- Ordered,- ComponentSourceAware,- ExpressionCapable,- Orderable,- IntegrationPattern,- NamedComponent,- IntegrationManagement,- TrackableComponent,- ReactiveMessageHandler
Implementation of 
ReactiveMessageHandler which writes
 Message payload or Message itself (see extractPayload) into a Redis stream using Reactive Stream operations.- Since:
- 5.4
- Author:
- Attoumane Ahamadi, Artem Bilan
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagementIntegrationManagement.ManagementOverrides
- 
Field SummaryFields inherited from class org.springframework.integration.context.IntegrationObjectSupportEXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagementMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.OrderedHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
- 
Constructor SummaryConstructorsConstructorDescriptionReactiveRedisStreamMessageHandler(ReactiveRedisConnectionFactory connectionFactory, String streamKey) Create an instance based on providedReactiveRedisConnectionFactoryand key for stream.ReactiveRedisStreamMessageHandler(ReactiveRedisConnectionFactory connectionFactory, Expression streamKeyExpression) Create an instance based on providedReactiveRedisConnectionFactoryand expression for stream key.
- 
Method SummaryModifier and TypeMethodDescriptionSubclasses may implement this method to provide component type information.protected reactor.core.publisher.Mono<Void>handleMessageInternal(Message<?> message) protected voidonInit()Subclasses may implement this for initialization logic.voidsetAddOptionsFunction(Function<Message<?>, RedisStreamCommands.XAddOptions> addOptionsFunction) Set a function to create aRedisStreamCommands.XAddOptionsbased on the request message.voidsetExtractPayload(boolean extractPayload) Set totrueto extract the payload; otherwise the entire message is sent.voidsetHashMapper(HashMapper<String, ?, ?> hashMapper) (Optional) Set theHashMapperused to createreactiveStreamOperations.voidsetSerializationContext(RedisSerializationContext<String, ?> serializationContext) Methods inherited from class org.springframework.integration.handler.AbstractReactiveMessageHandlerhandleMessageMethods inherited from class org.springframework.integration.handler.MessageHandlerSupportbuildSendTimer, destroy, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupportafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.integration.support.management.IntegrationManagementgetThisAsMethods inherited from interface org.springframework.integration.support.context.NamedComponentgetBeanName, getComponentName
- 
Constructor Details- 
ReactiveRedisStreamMessageHandlerpublic ReactiveRedisStreamMessageHandler(ReactiveRedisConnectionFactory connectionFactory, String streamKey) Create an instance based on providedReactiveRedisConnectionFactoryand key for stream.- Parameters:
- connectionFactory- the- ReactiveRedisConnectionFactoryto use
- streamKey- the key for stream
 
- 
ReactiveRedisStreamMessageHandlerpublic ReactiveRedisStreamMessageHandler(ReactiveRedisConnectionFactory connectionFactory, Expression streamKeyExpression) Create an instance based on providedReactiveRedisConnectionFactoryand expression for stream key.- Parameters:
- connectionFactory- the- ReactiveRedisConnectionFactoryto use
- streamKeyExpression- the SpEL expression to evaluate a key for stream
 
 
- 
- 
Method Details- 
setSerializationContext
- 
setHashMapper(Optional) Set theHashMapperused to createreactiveStreamOperations. The defaultHashMapperis defined from the providedRedisSerializationContext- Parameters:
- hashMapper- the wanted hashMapper
 
- 
setExtractPayloadpublic void setExtractPayload(boolean extractPayload) Set totrueto extract the payload; otherwise the entire message is sent. Defaulttrue.- Parameters:
- extractPayload- false to not extract.
 
- 
setAddOptionsFunctionpublic void setAddOptionsFunction(Function<Message<?>, RedisStreamCommands.XAddOptions> addOptionsFunction) Set a function to create aRedisStreamCommands.XAddOptionsbased on the request message. Cannot be null and cannot return null.- Parameters:
- addOptionsFunction- the function to provide a- RedisStreamCommands.XAddOptions.
- Since:
- 6.5
 
- 
getComponentTypeDescription copied from class:IntegrationObjectSupportSubclasses may implement this method to provide component type information.- Specified by:
- getComponentTypein interface- NamedComponent
- Overrides:
- getComponentTypein class- MessageHandlerSupport
 
- 
onInitprotected void onInit()Description copied from class:IntegrationObjectSupportSubclasses may implement this for initialization logic.- Overrides:
- onInitin class- IntegrationObjectSupport
 
- 
handleMessageInternal- Specified by:
- handleMessageInternalin class- AbstractReactiveMessageHandler
 
 
-