クラス RedisMessageStore
java.lang.ObjectSE
org.springframework.integration.store.AbstractBatchingMessageGroupStore
org.springframework.integration.store.AbstractMessageGroupStore
org.springframework.integration.store.AbstractKeyValueMessageStore
org.springframework.integration.redis.store.RedisMessageStore
- 実装済みのインターフェース一覧:
IterableSE<MessageGroup>, Aware, BeanClassLoaderAware, IntegrationPattern, BasicMessageGroupStore, MessageGroupStore, MessageStore
キー / 値スタイル
MessageStore および MessageGroupStore の Redis 実装 - 導入:
- 2.1
- 作成者:
- Oleg Zhurakousky, Gary Russell, Artem Bilan, Michal Domagala, Yordan Tsintsov
ネストされたクラスの概要
インターフェース MessageGroupStore から継承されたネストクラス / インターフェース
MessageGroupStore.MessageGroupCallbackフィールド概要
クラス AbstractKeyValueMessageStore から継承されたフィールド
MESSAGE_GROUP_KEY_PREFIX, MESSAGE_KEY_PREFIXクラス AbstractMessageGroupStore から継承されたフィールド
INTERRUPTED_WHILE_OBTAINING_LOCK, loggerコンストラクター概要
コンストラクターコンストラクター説明RedisMessageStore(RedisConnectionFactory connectionFactory) 提供されたRedisConnectionFactoryとデフォルトの空のプレフィックスに基づいてRedisMessageStoreを構築します。RedisMessageStore(RedisConnectionFactory connectionFactory, StringSE prefix) 提供されたRedisConnectionFactoryとプレフィックスに基づいてRedisMessageStoreを構築します。方法の概要
修飾子と型メソッド説明protected CollectionSE<?> doListKeys(StringSE keyPattern) protected @Nullable ObjectSEprotected voiddoRemoveAll(CollectionSE<ObjectSE> ids) protected @Nullable ObjectSEdoRetrieve(ObjectSE id) protected voidprotected voiddoStoreIfAbsent(ObjectSE id, ObjectSE objectToStore) voidsetBeanClassLoader(ClassLoaderSE classLoader) voidsetUseUnlink(boolean useUnlink) ストアからメッセージを削除する際に使用する削除戦略を設定します。voidsetValueSerializer(RedisSerializer<?> valueSerializer) クラス AbstractKeyValueMessageStore から継承されたメソッド
addMessage, doAddMessage, doAddMessage, doAddMessagesToGroup, doCompleteGroup, doPollMessageFromGroup, doRemoveMessageFromGroupById, doRemoveMessageGroup, doRemoveMessagesFromGroup, doSetGroupCondition, doSetLastReleasedSequenceNumberForGroup, getGroupMetadata, getGroupPrefix, getMessage, getMessageCount, getMessageFromGroup, getMessageGroup, getMessageMetadata, getMessagePrefix, getMessagesForGroup, getOneMessageFromGroup, iterator, messageGroupSize, removeMessage, streamMessagesForGroupクラス 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クラス AbstractBatchingMessageGroupStore から継承されたメソッド
getRemoveBatchSize, setMessageGroupFactory, setRemoveBatchSizeクラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース IterableSE から継承されたメソッド
forEachSE, spliteratorインターフェース MessageStore から継承されたメソッド
getIntegrationPatternType
コンストラクターの詳細
RedisMessageStore
提供されたRedisConnectionFactoryとデフォルトの空のプレフィックスに基づいてRedisMessageStoreを構築します。- パラメーター:
connectionFactory- 使用する RedisConnectionFactory
RedisMessageStore
提供されたRedisConnectionFactoryとプレフィックスに基づいてRedisMessageStoreを構築します。- パラメーター:
connectionFactory- 使用する RedisConnectionFactoryprefix- 使用するキープレフィックス。同じブローカーを複数のストアで使用できるようにします。- 導入:
- 4.3.12
- 関連事項:
方法の詳細
setBeanClassLoader
- 次で指定:
- インターフェース
BeanClassLoaderAware内のsetBeanClassLoader
setValueSerializer
setUseUnlink
public void setUseUnlink(boolean useUnlink) ストアからメッセージを削除する際に使用する削除戦略を設定します。デフォルトでは(
false)、ストアは RedisGETDELコマンドを使用します(Redis 6.2 以降)。trueに設定すると、ストアはGET+UNLINKを使用します。このオプションを有効にすることを検討すべきケースは以下のとおりです。
- 保存されるメッセージは大きく、削除をブロックすると Redis の遅延が顕著になる。
- ユースケースでは、取得と削除の間のアトミック性は必要ありません。
メモ: 値が小さい場合、Redis は
UNLINKと同期削除を実行する可能性があるため、その利点は主にペイロードが大きい場合に発揮されます。- パラメーター:
useUnlink- 削除戦略を設定するためのパラメーター。- 導入:
- 7.1
- 関連事項:
doRetrieve
- 次で指定:
- クラス
AbstractKeyValueMessageStoreのdoRetrieve
doStore
- 次で指定:
- クラス
AbstractKeyValueMessageStoreのdoStore
doStoreIfAbsent
- 次で指定:
- クラス
AbstractKeyValueMessageStoreのdoStoreIfAbsent
doRemove
- 次で指定:
- クラス
AbstractKeyValueMessageStoreのdoRemove
doRemoveAll
- 次で指定:
- クラス
AbstractKeyValueMessageStoreのdoRemoveAll
doListKeys
- 次で指定:
- クラス
AbstractKeyValueMessageStoreのdoListKeys