クラス IdempotentReceiverInterceptor
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.advice.AbstractHandleMessageAdvice
org.springframework.integration.handler.advice.IdempotentReceiverInterceptor
- 実装されたすべてのインターフェース:
Advice
、Interceptor
、MethodInterceptor
、Aware
、BeanFactoryAware
、BeanNameAware
、InitializingBean
、ApplicationContextAware
、ComponentSourceAware
、ExpressionCapable
、HandleMessageAdvice
、NamedComponent
べき等レシーバー E.I。の
MethodInterceptor
実装パターン。 この MethodInterceptor
は、discardChannel
が提供されているか、throwExceptionOnRejection
が true
に設定されている場合、MessageFilter
のように機能します。ただし、これらのプロパティが提供されていない場合、requestMessage
が MessageSelector
によって受け入れられない場合、このインターセプターは IntegrationMessageHeaderAccessor.DUPLICATE_MESSAGE
ヘッダーを持つ新しい Message
を作成します。
idempotent filtering
ロジックは、提供されている MessageSelector
に依存します。
このクラスは、MessageHandler.handleMessage(org.springframework.messaging.Message<?>)
メソッドでのみ使用されるように設計されています。
- 導入:
- 4.1
- 作成者:
- Artem Bilan, Gary Russell
- 関連事項:
フィールドのサマリー
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, logger
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected ObjectSE
doInvoke
(MethodInvocation invocation, Message<?> message) サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。void
setDiscardChannel
(MessageChannel discardChannel) 拒否されたメッセージを送信するチャネルを指定します。void
setDiscardChannelName
(StringSE discardChannelName) 拒否されたメッセージを送信するチャネル名を指定します。void
setThrowExceptionOnRejection
(boolean throwExceptionOnRejection) セレクターがメッセージを受け入れないときに、このインターセプターがMessageRejectedException
をスローするかどうかを指定します。void
setTimeout
(long timeout) 廃棄チャネルに送信するためのタイムアウト値を指定します。クラス org.springframework.integration.handler.advice.AbstractHandleMessageAdvice から継承されたメソッド
invoke
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, onInit, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
コンストラクターの詳細
IdempotentReceiverInterceptor
メソッドの詳細
setTimeout
public void setTimeout(long timeout) 廃棄チャネルに送信するためのタイムアウト値を指定します。- パラメーター:
timeout
- ミリ秒単位のタイムアウト
setThrowExceptionOnRejection
public void setThrowExceptionOnRejection(boolean throwExceptionOnRejection) セレクターがメッセージを受け入れないときに、このインターセプターがMessageRejectedException
をスローするかどうかを指定します。デフォルト値はfalse
です。これは、拒否されたメッセージが破棄されるか、IntegrationMessageHeaderAccessor.DUPLICATE_MESSAGE
ヘッダーで強化され、通常どおりinvocation.proceed()
に返されることを意味します。通常、破棄チャネルが提供されている場合、この値はtrue
ではありませんが、提供されている場合は、メッセージが破棄チャネルに送信された後に例外がスローされます。- パラメーター:
throwExceptionOnRejection
- 例外をスローする必要がある場合は true。- 関連事項:
setDiscardChannel
拒否されたメッセージを送信するチャネルを指定します。破棄チャネルが null(デフォルト)の場合、重複するメッセージはIntegrationMessageHeaderAccessor.DUPLICATE_MESSAGE
ヘッダーで強化され、通常どおりinvocation.proceed()
に返されます。ただし、"throwExceptionOnRejection" フラグは、拒否されたメッセージが例外をトリガーするかどうかを決定します。その値は、廃棄チャネルの存在に関係なく評価されます。拒否されたメッセージを確認なしで「ドロップ」する必要がある場合は、
discardChannel
をnullChannel
に構成します。- パラメーター:
discardChannel
- 廃棄チャネル。- 関連事項:
setDiscardChannelName
拒否されたメッセージを送信するチャネル名を指定します。破棄チャネルが null(デフォルト)の場合、重複するメッセージはIntegrationMessageHeaderAccessor.DUPLICATE_MESSAGE
ヘッダーで強化され、通常どおりinvocation.proceed()
に返されます。ただし、"throwExceptionOnRejection" フラグは、拒否されたメッセージが例外をトリガーするかどうかを決定します。その値は、廃棄チャネルの存在に関係なく評価されます。拒否されたメッセージを確認なしで「ドロップ」する必要がある場合は、
discardChannel
をnullChannel
に構成します。discardChannel
が提供されていない場合にのみ適用されます。- パラメーター:
discardChannelName
- 廃棄チャネル名。- 導入:
- 5.0.1
- 関連事項:
getComponentType
クラスからコピーされた説明:IntegrationObjectSupport
サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。- 次で指定:
- インターフェース
NamedComponent
のgetComponentType
- オーバーライド:
- クラス
IntegrationObjectSupport
のgetComponentType
doInvoke
- 次で指定:
- クラス
AbstractHandleMessageAdvice
のdoInvoke
- 例外:
ThrowableSE