public class MetadataStoreSelector extends ObjectSE implements MessageSelector
ConcurrentMetadataStore および MessageProcessor を使用した MessageSelector 実装。accept(org.springframework.messaging.Message<?>) メソッドは、MessageProcessor を使用して提供された message から metadataKey を抽出し、デフォルトで timestamp ヘッダーを value (16 進数)として使用します。valueStrategy を指定して、デフォルトの動作をオーバーライドできます。
accept(org.springframework.messaging.Message<?>) メソッドの成功結果は、ConcurrentMetadataStore.putIfAbsent(java.lang.String, java.lang.String) の戻り値に基づいています。putIfAbsent が null を返す場合、true が返されます。同時に、値が MetadataStore に配置されたことを意味します。それ以外の場合、key に関連付けられた MetadataStore にすでに値があるため、メッセージは受け入れられません。
この MessageSelector は、べき等レシーバー実装に役立ちます。
MessageFilter または IdempotentReceiverInterceptor で使用できます。
| コンストラクターと説明 |
|---|
MetadataStoreSelector(MessageProcessor<StringSE> keyStrategy) |
MetadataStoreSelector(MessageProcessor<StringSE> keyStrategy, ConcurrentMetadataStore metadataStore) |
MetadataStoreSelector(MessageProcessor<StringSE> keyStrategy, MessageProcessor<StringSE> valueStrategy) |
MetadataStoreSelector(MessageProcessor<StringSE> keyStrategy, MessageProcessor<StringSE> valueStrategy, ConcurrentMetadataStore metadataStore) |
| 修飾子と型 | メソッドと説明 |
|---|---|
boolean | accept(Message<?> message) |
MetadataStoreSelector | compareValues(java.util.function.BiPredicateSE<StringSE, StringSE> compareValues)setCompareValues(BiPredicate) の流暢バージョン。 |
void | setCompareValues(java.util.function.BiPredicateSE<StringSE, StringSE> compareValues)BiPredicateSE を設定して、キーのメタデータストア内の古い値と新しい値を比較します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic MetadataStoreSelector(MessageProcessor<StringSE> keyStrategy)
public MetadataStoreSelector(MessageProcessor<StringSE> keyStrategy, MessageProcessor<StringSE> valueStrategy)
public MetadataStoreSelector(MessageProcessor<StringSE> keyStrategy, ConcurrentMetadataStore metadataStore)
public MetadataStoreSelector(MessageProcessor<StringSE> keyStrategy, MessageProcessor<StringSE> valueStrategy, ConcurrentMetadataStore metadataStore)
public void setCompareValues(@Nullable java.util.function.BiPredicateSE<StringSE,StringSE> compareValues)
BiPredicateSE を設定して、キーのメタデータストア内の古い値と新しい値を比較します。最初のパラメーターは古い値です。このメッセージを受け入れ、古い値を新しい値に置き換える場合は true を返します。compareValues - BiPredicateSEpublic MetadataStoreSelector compareValues(@Nullable java.util.function.BiPredicateSE<StringSE,StringSE> compareValues)
setCompareValues(BiPredicate) の流暢バージョン。compareValues - BiPredicateSEpublic boolean accept(Message<?> message)
GenericSelector<Message<?>> の accept MessageSelector の accept