クラス JdbcMessageHandler

実装されたすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>AwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareOrderedComponentSourceAwareExpressionCapableOrderableIntegrationPatternNamedComponentIntegrationManagementTrackableComponentMessageHandlerreactor.core.CoreSubscriber<Message<?>>

public class JdbcMessageHandler extends AbstractMessageHandler
SQL 更新を実行するメッセージハンドラー。動的クエリパラメーターは、SqlParameterSourceFactory 抽象化を通じてサポートされます。SqlParameterSourceFactory のデフォルト実装は、メッセージをラップして、その Bean プロパティをクエリ文字列で名前で参照できるようにします。
 INSERT INTO ITEMS (MESSAGE_ID, PAYLOAD) VALUES (:headers[id], :payload)
 

メッセージペイロードが IterableSE のインスタンスである場合、NamedParameterJdbcOperations.batchUpdate(String, SqlParameterSource[]) が実行されます。各 SqlParameterSource インスタンスは、リクエストメッセージのヘッダーを使用して内部 Message 実装にラップされた項目に基づいています。項目はまだ Message でない場合のみ折り返しされます。

preparedStatementSetter が構成されている場合、適切な JdbcOperations.batchUpdate(String, BatchPreparedStatementSetter) 機能の各項目に適用されます。

NOTE: keysGenerated が使用されている場合、バッチ更新はサポートされません。N.B. ヘッダーキーをエスケープするために引用符を使用しないでください。デフォルトの SQL パラメーターソース(Spring JDBC から)は、ドット付きの名前のヘッダーも処理できます (たとえば business.id)

導入:
2.0
作成者:
Dave Syer, Artem Bilan, Trung Pham
  • コンストラクターの詳細

    • JdbcMessageHandler

      public JdbcMessageHandler(DataSourceSE dataSource, StringSE updateSql)
      DB 接続を取得できる DataSourceSE と、新しい行を取得するために実行する選択クエリを取得するコンストラクター。
      パラメーター:
      dataSource - null であってはなりません
      updateSql - 実行するクエリ
    • JdbcMessageHandler

      public JdbcMessageHandler(JdbcOperations jdbcOperations, StringSE updateSql)
      クエリの実行に使用する JdbcOperations インスタンスと、新しい行を取得するために実行する選択クエリを取得するコンストラクター。
      パラメーター:
      jdbcOperations - クエリの実行に使用するインスタンス
      updateSql - 実行するクエリ
  • メソッドの詳細