public class BarrierMessageHandler extends AbstractReplyProducingMessageHandler implements MessageTriggerAction, DiscardingMessageHandler
trigger メソッドに渡されるか、タイムアウトが発生するまでスレッドを一時停止するメッセージハンドラー。特定の相関関係(CorrelationStrategy を呼び出した結果)を持つ 1 つのスレッドのみを一度に中断できます。受信スレッドがトリガースレッドの前に到着しない場合、トリガースレッドは到着するまで中断されるか、タイムアウトが発生します。リクエストメッセージとトリガーメッセージに別々のタイムアウトを構成できます。 デフォルトの CorrelationStrategy は HeaderAttributeCorrelationStrategy です。
デフォルトの出力プロセッサーは DefaultAggregatingMessageGroupProcessor です。
AbstractReplyProducingMessageHandler.RequestHandlerIntegrationManagement.ManagementOverridesmessagingTemplateEXPRESSION_PARSER, loggerHIGHEST_PRECEDENCE, LOWEST_PRECEDENCEMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME| コンストラクターと説明 |
|---|
BarrierMessageHandler(long timeout) 提供されたタイムアウトとデフォルトの相関および出力戦略を使用してインスタンスを構築します。 |
BarrierMessageHandler(long timeout, CorrelationStrategy correlationStrategy) 提供されたタイムアウトと相関戦略、およびデフォルトの出力プロセッサーを使用してインスタンスを構築します。 |
BarrierMessageHandler(long requestTimeout, long triggerTimeout) 提供されたタイムアウトとデフォルトの相関および出力戦略を使用してインスタンスを構築します。 |
BarrierMessageHandler(long requestTimeout, long triggerTimeout, CorrelationStrategy correlationStrategy) 提供されたタイムアウトと相関戦略、およびデフォルトの出力プロセッサーを使用してインスタンスを構築します。 |
BarrierMessageHandler(long requestTimeout, long triggerTimeout, MessageGroupProcessor outputProcessor) 提供されたタイムアウトと出力プロセッサー、およびデフォルトの相関戦略を使用してインスタンスを構築します。 |
BarrierMessageHandler(long requestTimeout, long triggerTimeout, MessageGroupProcessor outputProcessor, CorrelationStrategy correlationStrategy) 提供されたタイムアウトと出力プロセッサー、およびデフォルトの相関戦略を使用してインスタンスを構築します。 |
BarrierMessageHandler(long timeout, MessageGroupProcessor outputProcessor) 提供されたタイムアウトと出力プロセッサー、およびデフォルトの相関戦略を使用してインスタンスを構築します。 |
BarrierMessageHandler(long timeout, MessageGroupProcessor outputProcessor, CorrelationStrategy correlationStrategy) 提供されたタイムアウトと出力プロセッサー、およびデフォルトの相関戦略を使用してインスタンスを構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected ObjectSE | buildResult(ObjectSE key, Message<?> requestMessage, Message<?> releaseMessage) オーバーライドして、結果として受信メッセージとリリースメッセージが返されるデフォルトのメカニズムを変更します。 |
StringSE | getComponentType() サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。 |
MessageChannel | getDiscardChannel() 破棄チャネルを返します。 |
IntegrationPatternType | getIntegrationPatternType() このコンポーネントが実装するパターン型を返します。 |
protected ObjectSE | handleRequestMessage(Message<?> requestMessage) サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。 |
void | setDiscardChannel(MessageChannel discardChannel) 遅れて到着するトリガーメッセージが送信されるチャネルを設定します。 |
void | setDiscardChannelName(StringSE discardChannelName) 遅れて到着するトリガーメッセージが送信されるチャネルの名前を設定します。 |
void | trigger(Message<?> message) メッセージに基づいて何らかのアクションを実行します。 |
doInit, doInvokeAdvisedRequestHandler, getBeanClassLoader, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReplyaddNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeadershandleMessage, onComplete, onError, onNext, onSubscribebuildSendTimer, destroy, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEhandleMessagegetThisAsgetBeanName, getComponentNamepublic BarrierMessageHandler(long timeout)
timeout - リクエストメッセージとトリガーメッセージの両方のミリ秒単位のタイムアウト。public BarrierMessageHandler(long timeout,
MessageGroupProcessor outputProcessor)timeout - リクエストメッセージとトリガーメッセージの両方のミリ秒単位のタイムアウト。outputProcessor - 出力 MessageGroupProcessor。public BarrierMessageHandler(long timeout,
CorrelationStrategy correlationStrategy)timeout - リクエストメッセージとトリガーメッセージの両方のミリ秒単位のタイムアウト。correlationStrategy - 相関戦略。public BarrierMessageHandler(long timeout,
MessageGroupProcessor outputProcessor,
CorrelationStrategy correlationStrategy)timeout - リクエストメッセージとトリガーメッセージの両方のミリ秒単位のタイムアウト。outputProcessor - 出力 MessageGroupProcessor。correlationStrategy - 相関戦略。public BarrierMessageHandler(long requestTimeout,
long triggerTimeout)requestTimeout - トリガーメッセージを待機するときのミリ秒単位のタイムアウト。triggerTimeout - リクエストメッセージを待機するときのミリ秒単位のタイムアウト。public BarrierMessageHandler(long requestTimeout,
long triggerTimeout,
MessageGroupProcessor outputProcessor)requestTimeout - トリガーメッセージを待機するときのミリ秒単位のタイムアウト。triggerTimeout - リクエストメッセージを待機するときのミリ秒単位のタイムアウト。outputProcessor - 出力 MessageGroupProcessor。public BarrierMessageHandler(long requestTimeout,
long triggerTimeout,
CorrelationStrategy correlationStrategy)requestTimeout - トリガーメッセージを待機するときのミリ秒単位のタイムアウト。triggerTimeout - リクエストメッセージを待機するときのミリ秒単位のタイムアウト。correlationStrategy - 相関戦略。public BarrierMessageHandler(long requestTimeout,
long triggerTimeout,
MessageGroupProcessor outputProcessor,
CorrelationStrategy correlationStrategy)requestTimeout - トリガーメッセージを待機するときのミリ秒単位のタイムアウト。triggerTimeout - リクエストメッセージを待機するときのミリ秒単位のタイムアウト。outputProcessor - 出力 MessageGroupProcessor。correlationStrategy - 相関戦略。public void setDiscardChannelName(StringSE discardChannelName)
discardChannelName - 廃棄チャネル。public void setDiscardChannel(MessageChannel discardChannel)
discardChannel - 廃棄チャネル。public MessageChannel getDiscardChannel()
DiscardingMessageHandlerDiscardingMessageHandler の getDiscardChannel public StringSE getComponentType()
IntegrationObjectSupportNamedComponent の getComponentType MessageHandlerSupport の getComponentType public IntegrationPatternType getIntegrationPatternType()
IntegrationPatternIntegrationPattern の getIntegrationPatternType AbstractReplyProducingMessageHandler の getIntegrationPatternType IntegrationPatternTypeprotected ObjectSE handleRequestMessage(Message<?> requestMessage)
AbstractReplyProducingMessageHandlerAbstractReplyProducingMessageHandler の handleRequestMessage requestMessage - リクエストメッセージ。nullprotected ObjectSE buildResult(ObjectSE key, Message<?> requestMessage, Message<?> releaseMessage)
key - 相関キー。requestMessage - 受信メッセージ。releaseMessage - リリースメッセージ。public void trigger(Message<?> message)
MessageTriggerActionMessageTriggerAction の trigger message - メッセージ。