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 enum 
    /** 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
     
    protected reactor.core.publisher.Mono<Void>
    handleMessageInternal(org.springframework.messaging.Message<?> message)
     
    protected void
     
    void
    setCriteriaExpression(org.springframework.expression.Expression criteriaExpression)
    Set a SpEL expression to evaluate a Criteria for query to execute.
    void
    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(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, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, 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

    • 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(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 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