クラス 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, Ngoc Nhan, Youbin Wu
ネストされたクラスの要約
インターフェース org.springframework.integration.store.MessageGroupStore から継承されたネストクラス / インターフェース
MessageGroupStore.MessageGroupCallback
フィールドのサマリー
フィールドクラス org.springframework.integration.store.AbstractMessageGroupStore から継承されたフィールド
GROUP_ID_MUST_NOT_BE_NULL, INTERRUPTED_WHILE_OBTAINING_LOCK, logger
コンストラクターの概要
コンストラクター修飾子コンストラクター説明protected
protected
AbstractKeyValueMessageStore
(StringSE prefix) 指定されたキーのプレフィックスに基づいてインスタンスを構築し、同じターゲットキー / 値データベース内の異なるストアインスタンスを区別します。メソッドのサマリー
修飾子と型メソッド説明<T> Message
<T> addMessage
(Message<T> message) 提供されたメッセージを MessageStore に入れます。protected void
doAddMessage
(Message<?> message) protected void
doAddMessage
(Message<?> message, ObjectSE groupId) protected void
doAddMessagesToGroup
(ObjectSE groupId, Message<?>... messages) protected void
doCompleteGroup
(ObjectSE groupId) protected abstract CollectionSE
<?> doListKeys
(StringSE keyPattern) protected Message
<?> doPollMessageFromGroup
(ObjectSE groupId) protected abstract ObjectSE
protected abstract void
doRemoveAll
(CollectionSE<ObjectSE> ids) protected boolean
doRemoveMessageFromGroupById
(ObjectSE groupId, UUIDSE messageId) protected void
doRemoveMessageGroup
(ObjectSE groupId) 提供されたグループ ID を持つ MessageGroup を削除します。protected void
doRemoveMessagesFromGroup
(ObjectSE groupId, CollectionSE<Message<?>> messages) protected abstract ObjectSE
doRetrieve
(ObjectSE id) protected void
doSetGroupCondition
(ObjectSE groupId, StringSE condition) protected void
doSetLastReleasedSequenceNumberForGroup
(ObjectSE groupId, int sequenceNumber) 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
<?> removeMessage
(UUIDSE id) 指定された ID のメッセージを MessageStore から削除し(存在する場合)、それを返します。streamMessagesForGroup
(ObjectSE groupId) 指定されたグループに保存されているメッセージのストリームを返します。クラス org.springframework.integration.store.AbstractMessageGroupStore から継承されたメソッド
addMessagesToGroup, addMessageToGroup, completeGroup, copy, executeLocked, executeLocked, expireMessageGroups, getLockRegistry, getMessageCountForAllMessageGroups, getMessageGroupCount, getMessageGroupFactory, isTimeoutOnIdle, pollMessageFromGroup, registerMessageGroupExpiryCallback, removeMessageFromGroupById, removeMessageGroup, removeMessagesFromGroup, removeMessagesFromGroup, setExpiryCallbacks, setGroupCondition, setLastReleasedSequenceNumberForGroup, setLazyLoadMessageGroups, setLockRegistry, 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
フィールドの詳細
MESSAGE_KEY_PREFIX
- 関連事項:
MESSAGE_GROUP_KEY_PREFIX
- 関連事項:
コンストラクターの詳細
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。- 戻り値:
- メタデータ。
doAddMessagesToGroup
- 次で指定:
- クラス
AbstractMessageGroupStore
のdoAddMessagesToGroup
doRemoveMessagesFromGroup
- 次で指定:
- クラス
AbstractMessageGroupStore
のdoRemoveMessagesFromGroup
getMessageFromGroup
インターフェースからコピーされた説明:MessageGroupStore
ID を使用してグループからMessage
を取得します。メッセージがリクエストされたグループに属していない場合は、null
を返します。- 次で指定:
- インターフェース
MessageGroupStore
のgetMessageFromGroup
- パラメーター:
groupId
- メッセージを含むグループの groupId。messageId
- メッセージ ID。- 戻り値:
- リクエストされたグループに属している場合は、ID によるメッセージ。
doRemoveMessageFromGroupById
- オーバーライド:
- クラス
AbstractMessageGroupStore
のdoRemoveMessageFromGroupById
doCompleteGroup
- 次で指定:
- クラス
AbstractMessageGroupStore
のdoCompleteGroup
doRemoveMessageGroup
提供されたグループ ID を持つ MessageGroup を削除します。- 次で指定:
- クラス
AbstractMessageGroupStore
のdoRemoveMessageGroup
doSetGroupCondition
- 次で指定:
- クラス
AbstractMessageGroupStore
のdoSetGroupCondition
doSetLastReleasedSequenceNumberForGroup
doPollMessageFromGroup
- 次で指定:
- クラス
AbstractMessageGroupStore
のdoPollMessageFromGroup
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