クラス ChannelMessageStorePreparedStatementSetter

java.lang.ObjectSE
org.springframework.integration.jdbc.store.channel.ChannelMessageStorePreparedStatementSetter
既知の直属サブクラス
JsonChannelMessageStorePreparedStatementSetter

public class ChannelMessageStorePreparedStatementSetter extends ObjectSE
JdbcChannelMessageStore で使用されるコールバック。

動作は標準の PreparedStatementSetter と同じで、JdbcChannelMessageStore の addMessageToGroup メソッドに使用される追加の Message<?> requestMessageObject groupIdString regionboolean priorityEnabled パラメーターを取り込みます。

このクラスは、任意のカスタムデータ構造または列型に拡張できます。この目的のために、継承クラスには protected コンストラクターが提供されています。この場合、ターゲットのカスタム動作で必要でない場合は、追加の直列化アクションを回避するために、serializer は null になります。

導入:
5.0
作成者:
Meherzad Lahewala, Artem Bilan
関連事項:
  • コンストラクターの詳細

    • ChannelMessageStorePreparedStatementSetter

      public ChannelMessageStorePreparedStatementSetter(SerializingConverter serializer)
      提供されたシリアライザーと lobHandler を使用して ChannelMessageStorePreparedStatementSetter をインスタンス化します。どちらも null であってはなりません。
      パラメーター:
      serializer - リクエストメッセージから byte[] を構築するための SerializingConverter
      導入:
      6.4
    • ChannelMessageStorePreparedStatementSetter

      protected ChannelMessageStorePreparedStatementSetter()
      byte[] へのメッセージの直列化に関心のない継承のデフォルトコンストラクター。このコンストラクターからの serializer は null であるため、デフォルトの setValues(PreparedStatement, Message, Object, String, boolean) 実装では直列化は行われません。ターゲット実装者は、メッセージを保存するための適切なカスタムロジックを確保する必要があります。
  • 方法の詳細

    • setValues

      public void setValues(PreparedStatementSE preparedStatement, Message<?> requestMessage, ObjectSE groupId, StringSE region, boolean priorityEnabled) throws SQLExceptionSE
      指定された引数に従って preparedStatement パラメーターの入力を実行します。デフォルトの機能は (パラメーター - データ) です。
      • 1 - messageId
      • 2 - groupKey
      • 3 - 領域
      • 4 - createdDate
      • 5 - 有効な場合は優先度、それ以外の場合は null
      • 6 - serializer が指定されている場合は直列化されたメッセージ。
      継承は、母集団の共通プロパティに対してこのメソッドを呼び出し、パラメーター #6 に対してカスタムメッセージ直列化ロジックを実行することを検討できます。このメソッドを完全にオーバーライドすることで、任意のカスタムデータ構造の作成を実現できます。
      パラメーター:
      preparedStatement - 提供された引数に基づいて列にデータを入力する PreparedStatementSE
      requestMessage - 保存する Message
      groupId - 保存するメッセージのグループ ID
      region - 異なるデータベースクライアントを区別するためのターゲットテーブル内の領域
      priorityEnabled - 優先度を保存する必要があるかどうかを示すフラグ
      例外:
      SQLExceptionSE - データ入力中に例外がスローされます