Class R2dbcMessageHandler

java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractReactiveMessageHandler
org.springframework.integration.r2dbc.outbound.R2dbcMessageHandler
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 R2dbcMessageHandler
extends org.springframework.integration.handler.AbstractReactiveMessageHandler
Implementation of ReactiveMessageHandler which writes Message payload into a Relational Database, using reactive r2dbc support.
Since:
5.4
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static class  R2dbcMessageHandler.Type
    /** The mode for the R2dbcMessageHandler.

    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
    R2dbcMessageHandler​(org.springframework.data.r2dbc.core.R2dbcEntityOperations r2dbcEntityOperations)
    Construct this instance using a fully created and initialized instance of provided R2dbcEntityOperations
  • 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 setCriteriaExpression​(org.springframework.expression.Expression criteriaExpression)
    Set a SpEL expression to evaluate a Criteria for query to execute.
    void setQueryType​(R2dbcMessageHandler.Type type)
    Set a R2dbcMessageHandler.Type for query to execute.
    void setQueryTypeExpression​(org.springframework.expression.Expression queryTypeExpression)
    Set a SpEL expression to evaluate a R2dbcMessageHandler.Type for query to execute.
    void setTableName​(java.lang.String tableName)
    Specify a table in the target database to execute the query.
    void setTableNameExpression​(org.springframework.expression.Expression tableNameExpression)
    Set a SpEL expression to evaluate a table name at runtime against request message.
    void setValuesExpression​(org.springframework.expression.Expression valuesExpression)
    Set a SpEL expression to evaluate a Map for name-value pairs to bind as parameters into a query.

    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

    • R2dbcMessageHandler

      public R2dbcMessageHandler​(org.springframework.data.r2dbc.core.R2dbcEntityOperations r2dbcEntityOperations)
      Construct this instance using a fully created and initialized instance of provided R2dbcEntityOperations
      Parameters:
      r2dbcEntityOperations - The R2dbcEntityOperations implementation.
  • Method Details

    • setQueryType

      public void setQueryType​(R2dbcMessageHandler.Type type)
      Set a R2dbcMessageHandler.Type for query to execute.
      Parameters:
      type - the R2dbcMessageHandler.Type to use.
    • setQueryTypeExpression

      public void setQueryTypeExpression​(org.springframework.expression.Expression queryTypeExpression)
      Set a SpEL expression to evaluate a R2dbcMessageHandler.Type for query to execute.
      Parameters:
      queryTypeExpression - the expression to use.
    • setTableName

      public void setTableName​(java.lang.String tableName)
      Specify a table in the target database to execute the query.
      Parameters:
      tableName - the name of the table to use.
    • setTableNameExpression

      public void setTableNameExpression​(org.springframework.expression.Expression tableNameExpression)
      Set a SpEL expression to evaluate a table name at runtime against request message.
      Parameters:
      tableNameExpression - the expression to use.
    • setValuesExpression

      public void setValuesExpression​(org.springframework.expression.Expression valuesExpression)
      Set a SpEL expression to evaluate a Map for name-value pairs to bind as parameters into a query.
      Parameters:
      valuesExpression - the expression to use.
    • setCriteriaExpression

      public void setCriteriaExpression​(org.springframework.expression.Expression criteriaExpression)
      Set a SpEL expression to evaluate a Criteria for query to execute.
      Parameters:
      criteriaExpression - the expression to use.
    • 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