public abstract class AbstractKeyValueMessageStore extends AbstractMessageGroupStore implements MessageStore
MessageGroupStore および MessageStore の実装の基本クラス MessageGroupStore.MessageGroupCallback| 修飾子と型 | フィールドと説明 |
|---|---|
protected static StringSE | MESSAGE_GROUP_KEY_PREFIX |
protected static StringSE | MESSAGE_KEY_PREFIX |
logger| 修飾子 | コンストラクターと説明 |
|---|---|
protected | AbstractKeyValueMessageStore() |
protected | AbstractKeyValueMessageStore(StringSE prefix) キーの提供されたプレフィックスに基づいてインスタンスを作成し、同じターゲット Key-Value データベース内の異なるストアインスタンスを区別します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
<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 abstract CollectionSE<?> | doListKeys(StringSE keyPattern) |
protected abstract ObjectSE | doRemove(ObjectSE id) |
protected abstract void | doRemoveAll(CollectionSE<ObjectSE> ids) |
protected abstract ObjectSE | doRetrieve(ObjectSE id) |
protected abstract void | doStore(ObjectSE id, ObjectSE objectToStore) |
protected abstract void | doStoreIfAbsent(ObjectSE id, ObjectSE objectToStore) |
MessageGroupMetadata | getGroupMetadata(ObjectSE groupId) メッセージをフェッチせずにグループメタデータを取得します。他のすべてのグループプロパティを提供する必要があります。最初のメッセージの ID を含めることができます。 |
StringSE | getGroupPrefix() 同じターゲット Key-Value データベース内の異なるストアインスタンスを区別するために、メッセージグループキーに構成されたプレフィックスを返します。 |
Message<?> | getMessage(UUIDSE messageId) |
long | getMessageCount() ストア内のメッセージ数を示すオプションの属性。 |
MessageGroup | getMessageGroup(ObjectSE groupId) 必要に応じて、SimpleMessageGroup の新しいインスタンスを作成します。 |
MessageMetadata | getMessageMetadata(UUIDSE messageId) |
protected StringSE | getMessagePrefix() 同じターゲット Key-Value データベース内の異なるストアインスタンスを区別するために、メッセージキーに設定されたプレフィックスを返します。 |
CollectionSE<Message<?>> | getMessagesForGroup(ObjectSE groupId) 指定されたグループ ID のメッセージを取得します。 |
Message<?> | getOneMessageFromGroup(ObjectSE groupId)MessageGroup から 1 つの Message を返します。 |
IteratorSE<MessageGroup> | iterator() |
int | messageGroupSize(ObjectSE groupId) この MessageGroup のサイズを返します。 |
Message<?> | pollMessageFromGroup(ObjectSE groupId) この MessageGroup からのメッセージをポーリングし(実装でサポートされている場合は FIFO スタイルで)、ポーリングされた Message も削除します |
Message<?> | removeMessage(UUIDSE id) 指定された ID のメッセージを MessageStore から削除し(存在する場合)、それを返します。 |
void | removeMessageGroup(ObjectSE groupId) 提供されたグループ ID を持つ MessageGroup を削除します。 |
void | removeMessagesFromGroup(ObjectSE groupId, CollectionSE<Message<?>> messages) グループからのメッセージの削除を永続化します。 |
void | setLastReleasedSequenceNumberForGroup(ObjectSE groupId, int sequenceNumber) 最後にリリースされたメッセージのシーケンス番号を設定できます。 |
addMessageToGroup, copy, expireMessageGroups, getMessageCountForAllMessageGroups, getMessageGroupCount, getMessageGroupFactory, isTimeoutOnIdle, registerMessageGroupExpiryCallback, removeMessagesFromGroup, setExpiryCallbacks, setLazyLoadMessageGroups, setTimeoutOnIdlegetRemoveBatchSize, setMessageGroupFactory, setRemoveBatchSizecloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEforEachSE, spliteratorSEprotected AbstractKeyValueMessageStore()
protected AbstractKeyValueMessageStore(StringSE prefix)
prefix + MESSAGE_ です。メッセージグループ - prefix + MESSAGE_GROUP_prefix - 使用する接頭辞 protected StringSE getMessagePrefix()
public StringSE getGroupPrefix()
public Message<?> getMessage(UUIDSE messageId)
MessageStore の getMessage messageId - メッセージ識別子。public MessageMetadata getMessageMetadata(UUIDSE messageId)
MessageStoreMessageStore の getMessageMetadata messageId - メッセージ識別子。public <T> Message<T> addMessage(Message<T> message)
MessageStoreMessageStore.getMessage(UUID) および MessageStore.removeMessage(UUID) が正しく動作するようにインデックスとして使用されます。メッセージは不変であるため、同じメッセージを複数回入力しても何も起こりません。MessageStore の addMessage T - ペイロード型。message - メッセージ。protected void doAddMessage(Message<?> message)
public Message<?> removeMessage(UUIDSE id)
MessageStoreMessageStore の removeMessage id - メッセージ識別子。@ManagedAttribute public long getMessageCount()
MessageStoreMessageStore の getMessageCount public MessageGroup getMessageGroup(ObjectSE groupId)
BasicMessageGroupStore の getMessageGroup groupId - グループ識別子。public MessageGroupMetadata getGroupMetadata(ObjectSE groupId)
MessageGroupStoreMessageGroupStore の getGroupMetadata AbstractMessageGroupStore の getGroupMetadata groupId - グループ ID。public void addMessagesToGroup(ObjectSE groupId, Message<?>... messages)
MessageGroupStoreMessageGroupStore の addMessagesToGroup groupId - メッセージを保存するグループ ID。messages - 追加するメッセージ。public void removeMessagesFromGroup(ObjectSE groupId, CollectionSE<Message<?>> messages)
MessageGroupStoreMessageGroupStore の removeMessagesFromGroup groupId - メッセージを含むグループの groupId。messages - 削除するメッセージ。public void completeGroup(ObjectSE groupId)
MessageGroupStoreMessageGroupStore の completeGroup groupId - グループ識別子。public void removeMessageGroup(ObjectSE groupId)
BasicMessageGroupStore の removeMessageGroup groupId - 削除するグループの ID。public void setLastReleasedSequenceNumberForGroup(ObjectSE groupId, int sequenceNumber)
MessageGroupStoreMessageGroupStore の setLastReleasedSequenceNumberForGroup groupId - グループ識別子。sequenceNumber - シーケンス番号。public Message<?> pollMessageFromGroup(ObjectSE groupId)
BasicMessageGroupStoreMessageGroup からのメッセージをポーリングし(実装でサポートされている場合は FIFO スタイルで)、ポーリングされた Message も削除します BasicMessageGroupStore の pollMessageFromGroup groupId - グループ識別子。public Message<?> getOneMessageFromGroup(ObjectSE groupId)
MessageGroupStoreMessageGroup から 1 つの Message を返します。MessageGroupStore の getOneMessageFromGroup groupId - グループ識別子。Messagepublic CollectionSE<Message<?>> getMessagesForGroup(ObjectSE groupId)
MessageGroupStoreMessageGroupStore の getMessagesForGroup groupId - メッセージを取得するグループ ID。public IteratorSE<MessageGroup> iterator()
IterableSE<MessageGroup> の iteratorSE MessageGroupStore の iterator MessageGroup の反復子。public int messageGroupSize(ObjectSE groupId)
BasicMessageGroupStoreBasicMessageGroupStore の messageGroupSize groupId - グループ識別子。protected abstract void doRemoveAll(CollectionSE<ObjectSE> ids)
protected abstract CollectionSE<?> doListKeys(StringSE keyPattern)