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,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 Summary
Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionReactiveRedisStreamMessageHandler(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 Summary
Modifier 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.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.AbstractReactiveMessageHandler
handleMessageMethods 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, shouldTrackMethods 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, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAsMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
ReactiveRedisStreamMessageHandler
public ReactiveRedisStreamMessageHandler(ReactiveRedisConnectionFactory connectionFactory, String streamKey) Create an instance based on providedReactiveRedisConnectionFactoryand key for stream.- Parameters:
connectionFactory- theReactiveRedisConnectionFactoryto usestreamKey- the key for stream
-
ReactiveRedisStreamMessageHandler
public ReactiveRedisStreamMessageHandler(ReactiveRedisConnectionFactory connectionFactory, Expression streamKeyExpression) Create an instance based on providedReactiveRedisConnectionFactoryand expression for stream key.- Parameters:
connectionFactory- theReactiveRedisConnectionFactoryto usestreamKeyExpression- 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
-
setExtractPayload
public void setExtractPayload(boolean extractPayload) Set totrueto extract the payload; otherwise the entire message is sent. Defaulttrue.- Parameters:
extractPayload- false to not extract.
-
getComponentType
Description copied from class:IntegrationObjectSupportSubclasses may implement this method to provide component type information.- Specified by:
getComponentTypein interfaceNamedComponent- Overrides:
getComponentTypein classMessageHandlerSupport
-
onInit
protected void onInit()Description copied from class:IntegrationObjectSupportSubclasses may implement this for initialization logic.- Overrides:
onInitin classIntegrationObjectSupport
-
handleMessageInternal
- Specified by:
handleMessageInternalin classAbstractReactiveMessageHandler
-