Class ReactiveMongoDbStoringMessageHandler

java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractReactiveMessageHandler
org.springframework.integration.mongodb.outbound.ReactiveMongoDbStoringMessageHandler
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 ReactiveMongoDbStoringMessageHandler
extends org.springframework.integration.handler.AbstractReactiveMessageHandler
Implementation of ReactiveMessageHandler which writes Message payload into a MongoDb collection, using reactive MongoDb support, The collection is identified by evaluation of the collectionNameExpression.
Since:
5.3
  • 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
    ReactiveMongoDbStoringMessageHandler​(org.springframework.data.mongodb.core.ReactiveMongoOperations mongoTemplate)
    Construct this instance using a fully created and initialized instance of provided ReactiveMongoOperations
    ReactiveMongoDbStoringMessageHandler​(org.springframework.data.mongodb.ReactiveMongoDatabaseFactory mongoDbFactory)
    Construct this instance using a provided ReactiveMongoDatabaseFactory
  • Method Summary

    Modifier and Type Method Description
    java.lang.String getComponentType()  
    protected reactor.core.publisher.Mono<java.lang.Void> handleMessageInternal​(org.springframework.messaging.Message<?> message)  
    protected void onInit()  
    void setCollectionNameExpression​(org.springframework.expression.Expression collectionNameExpression)
    Set a SpEL Expression that should resolve to a collection name used by ReactiveMongoOperations to store data
    void setMongoConverter​(org.springframework.data.mongodb.core.convert.MongoConverter mongoConverter)
    Provide a custom MongoConverter used to assist in serialization of data written to MongoDb.

    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, 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, 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

    • ReactiveMongoDbStoringMessageHandler

      public ReactiveMongoDbStoringMessageHandler​(org.springframework.data.mongodb.ReactiveMongoDatabaseFactory mongoDbFactory)
      Construct this instance using a provided ReactiveMongoDatabaseFactory
      Parameters:
      mongoDbFactory - The reactive mongoDatabase factory.
    • ReactiveMongoDbStoringMessageHandler

      public ReactiveMongoDbStoringMessageHandler​(org.springframework.data.mongodb.core.ReactiveMongoOperations mongoTemplate)
      Construct this instance using a fully created and initialized instance of provided ReactiveMongoOperations
      Parameters:
      mongoTemplate - The ReactiveMongoOperations implementation.
  • Method Details

    • setMongoConverter

      public void setMongoConverter​(org.springframework.data.mongodb.core.convert.MongoConverter mongoConverter)
      Provide a custom MongoConverter used to assist in serialization of data written to MongoDb. Only allowed if this instance was constructed with a ReactiveMongoDatabaseFactory.
      Parameters:
      mongoConverter - The mongo converter.
    • setCollectionNameExpression

      public void setCollectionNameExpression​(org.springframework.expression.Expression collectionNameExpression)
      Set a SpEL Expression that should resolve to a collection name used by ReactiveMongoOperations to store data
      Parameters:
      collectionNameExpression - The collection name expression.
    • getComponentType

      public java.lang.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<java.lang.Void> handleMessageInternal​(org.springframework.messaging.Message<?> message)
      Specified by:
      handleMessageInternal in class org.springframework.integration.handler.AbstractReactiveMessageHandler