クラス AbstractKeyValueMessageStore
java.lang.ObjectSE
org.springframework.integration.store.AbstractBatchingMessageGroupStore
org.springframework.integration.store.AbstractMessageGroupStore
org.springframework.integration.store.AbstractKeyValueMessageStore
- 実装されたすべてのインターフェース:
IterableSE<MessageGroup>
、BasicMessageGroupStore
、MessageGroupStore
、MessageStore
- 既知の直属サブクラス
HazelcastMessageStore
,RedisMessageStore
public abstract class AbstractKeyValueMessageStore
extends AbstractMessageGroupStore
implements MessageStore
Key/Value スタイル
MessageGroupStore
および MessageStore
の実装の基本クラス。- 導入:
- 2.1
- 作成者:
- Oleg Zhurakousky, Gary Russell, Artem Bilan
ネストされたクラスのサマリー
インターフェース org.springframework.integration.store.MessageGroupStore から継承されたネストクラス / インターフェース
MessageGroupStore.MessageGroupCallback
フィールドサマリー
フィールドクラス org.springframework.integration.store.AbstractMessageGroupStore から継承されたフィールド
logger
コンストラクターのサマリー
コンストラクター修飾子コンストラクター説明protected
protected
AbstractKeyValueMessageStore
(StringSE prefix) 指定されたキーのプレフィックスに基づいてインスタンスを構築し、同じターゲットキー / 値データベース内の異なるストアインスタンスを区別します。メソッドのサマリー
修飾子と型メソッド説明<T> Message<T>
addMessage
(Message<T> message) 提供されたメッセージを MessageStore に入れます。void
addMessagesToGroup
(ObjectSE groupId, Message<?>... messages) グループ ID に関連付けてメッセージを保存します。void
completeGroup
(ObjectSE groupId) この MessageGroup を完成させます。protected void
doAddMessage
(Message<?> message) protected void
doAddMessage
(Message<?> message, ObjectSE groupId) protected abstract CollectionSE<?>
doListKeys
(StringSE keyPattern) protected abstract ObjectSE
protected abstract void
doRemoveAll
(CollectionSE<ObjectSE> ids) protected abstract ObjectSE
doRetrieve
(ObjectSE id) protected abstract void
protected abstract void
doStoreIfAbsent
(ObjectSE id, ObjectSE objectToStore) getGroupMetadata
(ObjectSE groupId) メッセージをフェッチせずにグループメタデータを取得します。他のすべてのグループプロパティを提供する必要があります。最初のメッセージの ID を含めることができます。同じターゲットキー / 値データベース内の異なるストアインスタンスを区別するために、メッセージグループキーの構成済みプレフィックスを返します。Message<?>
getMessage
(UUIDSE messageId) long
ストア内のメッセージ数を示すオプションの属性。Message<?>
getMessageFromGroup
(ObjectSE groupId, UUIDSE messageId) ID を使用してグループからMessage
を取得します。getMessageGroup
(ObjectSE groupId) 必要に応じて、SimpleMessageGroup の新しいインスタンスを作成します。getMessageMetadata
(UUIDSE messageId) 同じターゲットキー / 値データベース内の異なるストアインスタンスを区別するために、メッセージキーの構成済みプレフィックスを返します。CollectionSE<Message<?>>
getMessagesForGroup
(ObjectSE groupId) 指定されたグループ ID のメッセージを取得します。Message<?>
getOneMessageFromGroup
(ObjectSE groupId) MessageGroup
から 1 つのMessage
を返します。iterator()
int
messageGroupSize
(ObjectSE groupId) この MessageGroup のサイズを返します。Message<?>
pollMessageFromGroup
(ObjectSE groupId) このMessageGroup
からのメッセージのポーリング(実装でサポートされている場合は FIFO スタイル)と同時に、ポーリングされたMessage
も削除します。Message<?>
removeMessage
(UUIDSE id) 指定された ID のメッセージを MessageStore から削除し(存在する場合)、それを返します。boolean
removeMessageFromGroupById
(ObjectSE groupId, UUIDSE messageId) グループからメッセージを削除します。void
removeMessageGroup
(ObjectSE groupId) 提供されたグループ ID を持つ MessageGroup を削除します。void
removeMessagesFromGroup
(ObjectSE groupId, CollectionSE<Message<?>> messages) グループからのメッセージの削除を永続化します。void
setGroupCondition
(ObjectSE groupId, StringSE condition) グループに条件文を追加します。void
setLastReleasedSequenceNumberForGroup
(ObjectSE groupId, int sequenceNumber) 最後にリリースされたメッセージのシーケンス番号を設定できます。streamMessagesForGroup
(ObjectSE groupId) 指定されたグループに保存されているメッセージのストリームを返します。クラス org.springframework.integration.store.AbstractMessageGroupStore から継承されたメソッド
addMessageToGroup, copy, expireMessageGroups, getMessageCountForAllMessageGroups, getMessageGroupCount, getMessageGroupFactory, isTimeoutOnIdle, registerMessageGroupExpiryCallback, removeMessagesFromGroup, setExpiryCallbacks, setLazyLoadMessageGroups, setTimeoutOnIdle
クラス org.springframework.integration.store.AbstractBatchingMessageGroupStore から継承されたメソッド
getRemoveBatchSize, setMessageGroupFactory, setRemoveBatchSize
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース java.lang.IterableSE から継承されたメソッド
forEachSE, spliterator
フィールドの詳細
コンストラクターの詳細
AbstractKeyValueMessageStore
protected AbstractKeyValueMessageStore()AbstractKeyValueMessageStore
指定されたキーのプレフィックスに基づいてインスタンスを構築し、同じターゲットキー / 値データベース内の異なるストアインスタンスを区別します。デフォルトは空の文字列で、プレフィックスはありません。メッセージの実際のプレフィックスはprefix + MESSAGE_
です。メッセージグループ用 -prefix + GROUP_OF_MESSAGES_
- パラメーター:
prefix
- 使用する接頭辞- 導入:
- 4.3.12
メソッドの詳細
getMessagePrefix
同じターゲットキー / 値データベース内の異なるストアインスタンスを区別するために、メッセージキーの構成済みプレフィックスを返します。デフォルトは "MESSAGE_" (カスタムプレフィックスなし) です。- 戻り値:
- キーのプレフィックス
- 導入:
- 4.3.12
getGroupPrefix
同じターゲットキー / 値データベース内の異なるストアインスタンスを区別するために、メッセージグループキーの構成済みプレフィックスを返します。デフォルトは "GROUP_OF_MESSAGES_" (カスタムプレフィックスなし) です。- 戻り値:
- キーのプレフィックス
- 導入:
- 4.3.12
getMessage
- 次で指定:
- インターフェース
MessageStore
のgetMessage
- パラメーター:
messageId
- メッセージ識別子。- 戻り値:
- 指定された ID のメッセージ。MessageStore にその ID のメッセージが存在しない場合は null。
getMessageMetadata
インターフェースからコピーされた説明:MessageStore
- 次で指定:
- インターフェース
MessageStore
のgetMessageMetadata
- パラメーター:
messageId
- メッセージ識別子。- 戻り値:
- 指定された ID の MessageMetadata、またはその ID のメッセージが MessageStore に存在しないか、メッセージにメタデータがない場合(以前のバージョンのレガシーメッセージ)は null。
addMessage
インターフェースからコピーされた説明:MessageStore
提供されたメッセージを MessageStore に入れます。ストアはメッセージを内部で変更する必要がある場合があり、その場合、戻り値は入力と異なる場合があります。戻り値の ID は、MessageStore.getMessage(UUID)
およびMessageStore.removeMessage(UUID)
が正しく動作するようにインデックスとして使用されます。メッセージは不変であるため、同じメッセージを複数回入力しても何も起こりません。- 次で指定:
- インターフェース
MessageStore
のaddMessage
- 型パラメーター:
T
- ペイロード型。- パラメーター:
message
- メッセージ。- 戻り値:
- 保存されたメッセージ。
doAddMessage
doAddMessage
removeMessage
インターフェースからコピーされた説明:MessageStore
指定された ID を持つメッセージが MessageStore から削除されます (存在する場合)。その ID を持つメッセージがストアに存在しない場合は、null
が返されます。このメソッドがMessageGroupStore
に実装されている場合、このメッセージを保持するグループがない場合にのみ、メッセージはストアから削除されます。- 次で指定:
- インターフェース
MessageStore
のremoveMessage
- パラメーター:
id
- メッセージ識別子。- 戻り値:
- メッセージ (ある場合)。
getMessageCount
インターフェースからコピーされた説明:MessageStore
ストア内のメッセージ数を示すオプションの属性。実装は例外をスローすることで応答を拒否する場合があります。- 次で指定:
- インターフェース
MessageStore
のgetMessageCount
- 戻り値:
- メッセージの数。
getMessageGroup
必要に応じて、SimpleMessageGroup の新しいインスタンスを作成します。- 次で指定:
- インターフェース
BasicMessageGroupStore
のgetMessageGroup
- パラメーター:
groupId
- グループ識別子。- 戻り値:
- メッセージのグループ。このキーにメッセージが存在しない場合は空です。
getGroupMetadata
インターフェースからコピーされた説明:MessageGroupStore
メッセージをフェッチせずにグループメタデータを取得します。他のすべてのグループプロパティを提供する必要があります。最初のメッセージの ID を含めることができます。- 次で指定:
- インターフェース
MessageGroupStore
のgetGroupMetadata
- オーバーライド:
- クラス
AbstractMessageGroupStore
のgetGroupMetadata
- パラメーター:
groupId
- グループ ID。- 戻り値:
- メタデータ。
addMessagesToGroup
インターフェースからコピーされた説明:MessageGroupStore
グループ ID に関連付けてメッセージを保存します。これは、メッセージをグループ化するために使用できます。- 次で指定:
- インターフェース
MessageGroupStore
のaddMessagesToGroup
- パラメーター:
groupId
- メッセージを保存するグループ ID。messages
- 追加するメッセージ。
removeMessagesFromGroup
インターフェースからコピーされた説明:MessageGroupStore
グループからのメッセージの削除を永続化します。- 次で指定:
- インターフェース
MessageGroupStore
のremoveMessagesFromGroup
- パラメーター:
groupId
- メッセージを含むグループの groupId。messages
- 削除するメッセージ。
getMessageFromGroup
インターフェースからコピーされた説明:MessageGroupStore
ID を使用してグループからMessage
を取得します。メッセージがリクエストされたグループに属していない場合は、null
を返します。- 次で指定:
- インターフェース
MessageGroupStore
のgetMessageFromGroup
- パラメーター:
groupId
- メッセージを含むグループの groupId。messageId
- メッセージ ID。- 戻り値:
- リクエストされたグループに属している場合は、ID によるメッセージ。
removeMessageFromGroupById
インターフェースからコピーされた説明:MessageGroupStore
グループからメッセージを削除します。- 次で指定:
- インターフェース
MessageGroupStore
のremoveMessageFromGroupById
- パラメーター:
groupId
- メッセージを含むグループの groupId。messageId
- 削除するメッセージ ID。- 戻り値:
- メッセージが削除された場合は true。
completeGroup
インターフェースからコピーされた説明:MessageGroupStore
これで MessageGroup が完成します。MessageGroup の補完は一般に、このグループに対してそれ以上の変異操作の実行を許可すべきではないことを意味します。たとえば、グループから新しいメッセージを追加 / 削除する試みは許可されるべきではありません。- 次で指定:
- インターフェース
MessageGroupStore
のcompleteGroup
- パラメーター:
groupId
- グループ識別子。
removeMessageGroup
提供されたグループ ID を持つ MessageGroup を削除します。- 次で指定:
- インターフェース
BasicMessageGroupStore
のremoveMessageGroup
- パラメーター:
groupId
- 削除するグループの ID。
setGroupCondition
インターフェースからコピーされた説明:MessageGroupStore
グループに条件文を追加します。後でグループの意思決定に使用できます。相関ハンドラーのリリース戦略では、グループ内のすべてのメッセージを繰り返す代わりに、この条件を調べることができます。- 次で指定:
- インターフェース
MessageGroupStore
のsetGroupCondition
- パラメーター:
groupId
- グループ識別子。condition
- グループに保存する条件。
setLastReleasedSequenceNumberForGroup
インターフェースからコピーされた説明:MessageGroupStore
最後にリリースされたメッセージのシーケンス番号を設定できます。ユースケースの並べ替えに使用- 次で指定:
- インターフェース
MessageGroupStore
のsetLastReleasedSequenceNumberForGroup
- パラメーター:
groupId
- グループ識別子。sequenceNumber
- シーケンス番号。
pollMessageFromGroup
インターフェースからコピーされた説明:BasicMessageGroupStore
このMessageGroup
からのメッセージのポーリング(実装でサポートされている場合は FIFO スタイル)と同時に、ポーリングされたMessage
も削除します。- 次で指定:
- インターフェース
BasicMessageGroupStore
のpollMessageFromGroup
- パラメーター:
groupId
- グループ識別子。- 戻り値:
- メッセージ。
getOneMessageFromGroup
インターフェースからコピーされた説明:MessageGroupStore
MessageGroup
から 1 つのMessage
を返します。- 次で指定:
- インターフェース
MessageGroupStore
のgetOneMessageFromGroup
- パラメーター:
groupId
- グループ識別子。- 戻り値:
Message
getMessagesForGroup
インターフェースからコピーされた説明:MessageGroupStore
指定されたグループ ID のメッセージを取得します。- 次で指定:
- インターフェース
MessageGroupStore
のgetMessagesForGroup
- パラメーター:
groupId
- メッセージを取得するグループ ID。- 戻り値:
- グループのメッセージ。
streamMessagesForGroup
インターフェースからコピーされた説明:MessageGroupStore
指定されたグループに保存されているメッセージのストリームを返します。永続的な実装は、完全に処理されたら閉じる必要があるストリームを返します(たとえば、try-with-resources 句を使用)。デフォルトでは、MessageGroupStore.getMessagesForGroup(Object)
の結果をストリーミングします。- 次で指定:
- インターフェース
MessageGroupStore
のstreamMessagesForGroup
- パラメーター:
groupId
- メッセージを取得するためのグループ ID。- 戻り値:
- このグループのメッセージの
Stream
SE。
iterator
- 次で指定:
- インターフェース
IterableSE<MessageGroup>
のiterator
- 次で指定:
- インターフェース
MessageGroupStore
のiterator
- 戻り値:
- 現在累積されている
MessageGroup
の反復子。
messageGroupSize
インターフェースからコピーされた説明:BasicMessageGroupStore
この MessageGroup のサイズを返します。- 次で指定:
- インターフェース
BasicMessageGroupStore
のmessageGroupSize
- パラメーター:
groupId
- グループ識別子。- 戻り値:
- サイズ。
doRetrieve
doStore
doStoreIfAbsent
doRemove
doRemoveAll
doListKeys