クラス R2dbcMessageSource

java.lang.ObjectSE
org.springframework.integration.util.AbstractExpressionEvaluator
org.springframework.integration.endpoint.AbstractMessageSource<org.reactivestreams.Publisher<?>>
org.springframework.integration.r2dbc.inbound.R2dbcMessageSource
実装されたすべてのインターフェース:
AwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanMessageSource<org.reactivestreams.Publisher<?>>IntegrationPatternNamedComponentIntegrationInboundManagementIntegrationManagement

public class R2dbcMessageSource extends AbstractMessageSource<org.reactivestreams.Publisher<?>>
クエリの実行の結果であるペイロードを含む Message を返す MessageSource のインスタンス。expectSingleResult が false(デフォルト)の場合、R2DBC クエリが実行され、Flux が返されます。返された Flux は、AbstractMessageSource.receive() メソッドによって返される Message のペイロードとして使用されます。

expectSingleResult が true の場合、クエリが実行され、クエリから返された単一のオブジェクトの Mono が返されます。

導入:
5.4
作成者:
Rohan Mukesh, Artem Bilan
  • コンストラクターの詳細

    • R2dbcMessageSource

      public R2dbcMessageSource(org.springframework.data.r2dbc.core.R2dbcEntityOperations r2dbcEntityOperations, StringSE query)
      提供された R2dbcEntityOperations および SpEL 式を使用してインスタンスを作成します。これは、リレーショナルの「クエリ」文字列に解決されます。R2dbcEntityOperations が完全に初期化され、使用できる状態になっていることを前提としています。'query' は、AbstractMessageSource.receive() メソッドを呼び出すたびに評価されます。
      パラメーター:
      r2dbcEntityOperations - データベース呼び出しを実行するためのリアクティブデータベースクライアント。
      query - クエリ文字列。
    • R2dbcMessageSource

      public R2dbcMessageSource(org.springframework.data.r2dbc.core.R2dbcEntityOperations r2dbcEntityOperations, Expression queryExpression)
      提供された R2dbcEntityOperations および SpEL 式を使用してインスタンスを作成します。これは、クエリ文字列または StatementMapper.SelectSpec インスタンスに解決されます。R2dbcEntityOperations が完全に初期化され、使用できる状態になっていることを前提としています。'queryExpression' は、AbstractMessageSource.receive() メソッドを呼び出すたびに評価されます。
      パラメーター:
      r2dbcEntityOperations - データベース呼び出しを実行するためのリアクティブ。
      queryExpression - クエリ式。評価コンテキストのルートオブジェクトは、StatementMapper.createSelect(java.lang.String) 流れるような API の委譲用の R2dbcMessageSource.SelectCreator です。
  • メソッドの詳細

    • setPayloadType

      public void setPayloadType(ClassSE<?> payloadType)
      EntityRowMapper に使用される entityClass の型を設定します。
      パラメーター:
      payloadType - 使用するクラス。
    • setUpdateSql

      public void setUpdateSql(StringSE updateSql)
      DatabaseClient.sql(String) メソッドに渡される更新クエリを設定します。
      パラメーター:
      updateSql - 更新クエリ文字列。
    • setBindFunction

      パラメーターを更新クエリにバインドするために使用される BiFunctionSE を設定します。
      パラメーター:
      bindFunction - 使用する BiFunctionSE
    • setExpectSingleResult

      public void setExpectSingleResult(boolean expectSingleResult)
      R2dbcEntityOperations で呼び出す find * メソッドを管理するためのフラグ。デフォルトは "false" です。これは、AbstractMessageSource.receive() メソッドが DatabaseClient.sql(String) メソッドを使用し、すべてをフェッチすることを意味します。'true' に設定すると、AbstractMessageSource.receive()DatabaseClient.sql(String) を使用して 1 つをフェッチし、返される Message のペイロードは、リストではなく payloadType で識別される型の返されるターゲットオブジェクトになります。
      パラメーター:
      expectSingleResult - 単一の結果が期待される場合は true。
    • getComponentType

      public StringSE getComponentType()
    • onInit

      protected void onInit()
      オーバーライド:
      クラス AbstractExpressionEvaluatoronInit 
    • doReceive

      protected ObjectSE doReceive()
      結果をメッセージペイロードとして返すクエリを実行します。ペイロードは、payloadType で識別される型のオブジェクトの Flux または Mono にするか、expectSingleResult 属性の値に基づいて payloadType で識別される型の単一要素にすることができます。expectSingleResult 属性の値はデフォルトで 'false' になり、その結果、型 Flux のペイロードを持つ Message になります。
      次で指定:
      クラス AbstractMessageSource<org.reactivestreams.Publisher<?>>doReceive 
      戻り値:
      返された値。