インターフェース MessageGroupStore
- すべてのスーパーインターフェース:
BasicMessageGroupStore
- すべての既知の実装クラス:
AbstractConfigurableMongoDbMessageStore
、AbstractKeyValueMessageStore
、AbstractMessageGroupStore
、ConfigurableMongoDbMessageStore
、HazelcastMessageStore
、JdbcMessageStore
、MongoDbChannelMessageStore
、MongoDbMessageStore
、RedisMessageStore
、SimpleMessageStore
グループ ID でリンクされたメッセージのグループに対する追加のストレージ操作を定義します。
- 導入:
- 2.0
- 作成者:
- Dave Syer, Oleg Zhurakousky, Gary Russell, Artem Bilan
ネストされたクラスのサマリー
修飾子と型インターフェース説明static interface
MessageGroupStore がグループを期限切れにするときに呼び出されます。メソッドのサマリー
修飾子と型メソッド説明void
addMessagesToGroup
(ObjectSE groupId, Message<?>... messages) グループ ID に関連付けてメッセージを保存します。void
completeGroup
(ObjectSE groupId) この MessageGroup を完成させます。int
expireMessageGroups
(long timeout) 期限切れのグループ(タイムスタンプが現在の時刻から指定されたしきい値を差し引いたものより古い)をすべて抽出し、登録されている各コールバックを順番に呼び出します。getGroupMetadata
(ObjectSE groupId) メッセージをフェッチせずにグループメタデータを取得します。他のすべてのグループプロパティを提供する必要があります。最初のメッセージの ID を含めることができます。int
すべてのグループにわたるストア内のメッセージの数を示すオプションの属性。default Message<?>
getMessageFromGroup
(ObjectSE groupId, UUIDSE messageId) ID を使用してグループからMessage
を取得します。int
メッセージグループの数を示すオプションの属性。CollectionSE<Message<?>>
getMessagesForGroup
(ObjectSE groupId) 指定されたグループ ID のメッセージを取得します。Message<?>
getOneMessageFromGroup
(ObjectSE groupId) MessageGroup
から 1 つのMessage
を返します。iterator()
void
メッセージグループがexpireMessageGroups(long)
を介して期限切れになったときのコールバックを登録します。default boolean
removeMessageFromGroupById
(ObjectSE groupId, UUIDSE messageId) グループからメッセージを削除します。void
removeMessagesFromGroup
(ObjectSE key, CollectionSE<Message<?>> messages) グループからのメッセージの削除を永続化します。void
removeMessagesFromGroup
(ObjectSE key, Message<?>... messages) グループからのメッセージの削除を永続化します。void
setGroupCondition
(ObjectSE groupId, StringSE condition) グループに条件文を追加します。void
setLastReleasedSequenceNumberForGroup
(ObjectSE groupId, int sequenceNumber) 最後にリリースされたメッセージのシーケンス番号を設定できます。streamMessagesForGroup
(ObjectSE groupId) 指定されたグループに保存されているメッセージのストリームを返します。インターフェース org.springframework.integration.store.BasicMessageGroupStore から継承されたメソッド
addMessageToGroup, getMessageGroup, messageGroupSize, pollMessageFromGroup, removeMessageGroup
メソッドの詳細
getMessageCountForAllMessageGroups
すべてのグループにわたるストア内のメッセージの数を示すオプションの属性。実装は、例外をスローすることによって応答を拒否する場合があります。- 戻り値:
- メッセージの数
- 例外:
UnsupportedOperationExceptionSE
- 実装されていない場合
getMessageGroupCount
メッセージグループの数を示すオプションの属性。実装は、例外をスローすることによって応答を拒否する場合があります。- 戻り値:
- メッセージグループの数
- 例外:
UnsupportedOperationExceptionSE
- 実装されていない場合
removeMessagesFromGroup
グループからのメッセージの削除を永続化します。- パラメーター:
key
- メッセージを含むグループの groupId。messages
- 削除するメッセージ。- 導入:
- 4.2
removeMessagesFromGroup
グループからのメッセージの削除を永続化します。- パラメーター:
key
- メッセージを含むグループの groupId。messages
- 削除するメッセージ。- 導入:
- 4.2
getMessageFromGroup
ID を使用してグループからMessage
を取得します。メッセージがリクエストされたグループに属していない場合は、null
を返します。- パラメーター:
groupId
- メッセージを含むグループの groupId。messageId
- メッセージ ID。- 戻り値:
- リクエストされたグループに属している場合は、ID によるメッセージ。
- 導入:
- 6.1.5
removeMessageFromGroupById
グループからメッセージを削除します。- パラメーター:
groupId
- メッセージを含むグループの groupId。messageId
- 削除するメッセージ ID。- 戻り値:
- メッセージが削除された場合は true。
- 導入:
- 6.1.5
registerMessageGroupExpiryCallback
メッセージグループがexpireMessageGroups(long)
を介して期限切れになったときのコールバックを登録します。- パラメーター:
callback
- メッセージグループがクリーンアップされたときに実行するコールバック。
expireMessageGroups
期限切れのグループ(タイムスタンプが現在の時刻から指定されたしきい値を差し引いたものより古い)をすべて抽出し、登録されている各コールバックを順番に呼び出します。例: タイムアウト 100 で呼び出して、100 ミリ秒以上前に作成され、まだ完了していないすべてのグループを期限切れにします。すべてのメッセージグループを期限切れにするには、タイムアウト 0(または安全のために負の値)を使用します。- パラメーター:
timeout
- 使用するタイムアウトしきい値- 戻り値:
- 期限切れのメッセージグループの数
- 関連事項:
setLastReleasedSequenceNumberForGroup
最後にリリースされたメッセージのシーケンス番号を設定できます。ユースケースの並べ替えに使用- パラメーター:
groupId
- グループ識別子。sequenceNumber
- シーケンス番号。
setGroupCondition
グループに条件文を追加します。後でグループの意思決定に使用できます。相関ハンドラーのリリース戦略では、グループ内のすべてのメッセージを繰り返す代わりに、この条件を調べることができます。- パラメーター:
groupId
- グループ識別子。condition
- グループに保存する条件。- 導入:
- 5.5
iterator
IteratorSE<MessageGroup> iterator()- 戻り値:
- 現在累積されている
MessageGroup
の反復子。
completeGroup
これで MessageGroup が完成します。MessageGroup の補完は一般に、このグループに対してそれ以上の変異操作の実行を許可すべきではないことを意味します。たとえば、グループから新しいメッセージを追加 / 削除する試みは許可されるべきではありません。- パラメーター:
groupId
- グループ識別子。
getGroupMetadata
メッセージをフェッチせずにグループメタデータを取得します。他のすべてのグループプロパティを提供する必要があります。最初のメッセージの ID を含めることができます。- パラメーター:
groupId
- グループ ID。- 戻り値:
- メタデータ。
- 導入:
- 4.0
getOneMessageFromGroup
MessageGroup
から 1 つのMessage
を返します。- パラメーター:
groupId
- グループ識別子。- 戻り値:
Message
- 導入:
- 4.0
addMessagesToGroup
グループ ID に関連付けてメッセージを保存します。これは、メッセージをグループ化するために使用できます。- パラメーター:
groupId
- メッセージを保存するグループ ID。messages
- 追加するメッセージ。- 導入:
- 4.3
getMessagesForGroup
指定されたグループ ID のメッセージを取得します。- パラメーター:
groupId
- メッセージを取得するグループ ID。- 戻り値:
- グループのメッセージ。
- 導入:
- 4.3
streamMessagesForGroup
指定されたグループに保存されているメッセージのストリームを返します。永続的な実装は、完全に処理されたら閉じる必要があるストリームを返します(たとえば、try-with-resources 句を使用)。デフォルトでは、getMessagesForGroup(Object)
の結果をストリーミングします。- パラメーター:
groupId
- メッセージを取得するためのグループ ID。- 戻り値:
- このグループのメッセージの
Stream
SE。 - 導入:
- 5.5