クラス MetadataStoreSelector

java.lang.ObjectSE
org.springframework.integration.selector.MetadataStoreSelector
実装されたすべてのインターフェース:
GenericSelector<Message<?>>MessageSelector

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 で使用できます。

導入:
4.1
作成者:
Artem Bilan, Gary Russell, Christian Tzolov