クラス ChannelMessageStorePreparedStatementSetter
java.lang.ObjectSE
org.springframework.integration.jdbc.store.channel.ChannelMessageStorePreparedStatementSetter
JdbcChannelMessageStore で使用されるコールバック。 動作は標準の PreparedStatementSetter と同じで、JdbcChannelMessageStore の addMessageToGroup メソッドに使用される追加の Message<?> requestMessage、Object groupId、String region、boolean priorityEnabled パラメーターを取り込みます。
このクラスは、任意のカスタムデータ構造または列型に拡張できます。この目的のために、継承クラスには protected コンストラクターが提供されています。この場合、ターゲットのカスタム動作で必要でない場合は、追加の直列化アクションを回避するために、serializer は null になります。
- 導入:
- 5.0
- 作成者:
- Meherzad Lahewala, Artem Bilan
- 関連事項:
コンストラクター概要
コンストラクター修飾子コンストラクター説明protectedbyte[]へのメッセージの直列化に関心のない継承のデフォルトコンストラクター。提供されたシリアライザーと lobHandler を使用してChannelMessageStorePreparedStatementSetterをインスタンス化します。どちらも null であってはなりません。方法の概要
修飾子と型メソッド説明voidsetValues(PreparedStatementSE preparedStatement, Message<?> requestMessage, ObjectSE groupId, StringSE region, boolean priorityEnabled) 提供された引数に従って preparedStatement パラメーターの設定を実行します。
コンストラクターの詳細
ChannelMessageStorePreparedStatementSetter
提供されたシリアライザーと 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が指定されている場合は直列化されたメッセージ。
- パラメーター:
preparedStatement- 提供された引数に基づいて列にデータを入力するPreparedStatementSErequestMessage- 保存するMessagegroupId- 保存するメッセージのグループ IDregion- 異なるデータベースクライアントを区別するためのターゲットテーブル内の領域priorityEnabled- 優先度を保存する必要があるかどうかを示すフラグ- 例外:
SQLExceptionSE- データ入力中に例外がスローされます