public class BarrierMessageHandler extends AbstractReplyProducingMessageHandler implements MessageTriggerAction, DiscardingMessageHandler
trigger
メソッドに渡されるか、タイムアウトが発生するまでスレッドを一時停止するメッセージハンドラー。特定の相関関係(CorrelationStrategy
を呼び出した結果)を持つ 1 つのスレッドのみを一度に中断できます。受信スレッドがトリガースレッドの前に到着しない場合、トリガースレッドは到着するまで中断されるか、タイムアウトが発生します。リクエストメッセージとトリガーメッセージに別々のタイムアウトを構成できます。 デフォルトの CorrelationStrategy
は HeaderAttributeCorrelationStrategy
です。
デフォルトの出力プロセッサーは DefaultAggregatingMessageGroupProcessor
です。
AbstractReplyProducingMessageHandler.RequestHandler
IntegrationManagement.ManagementOverrides
messagingTemplate
EXPRESSION_PARSER, logger
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
METER_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, setRequiresReply
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeaders
handleMessage, onComplete, onError, onNext, onSubscribe
buildSendTimer, destroy, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrack
afterPropertiesSet, 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, toString
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
handleMessage
getThisAs
getBeanName, getComponentName
public 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()
DiscardingMessageHandler
DiscardingMessageHandler
の getDiscardChannel
public StringSE getComponentType()
IntegrationObjectSupport
NamedComponent
の getComponentType
MessageHandlerSupport
の getComponentType
public IntegrationPatternType getIntegrationPatternType()
IntegrationPattern
IntegrationPattern
の getIntegrationPatternType
AbstractReplyProducingMessageHandler
の getIntegrationPatternType
IntegrationPatternType
protected ObjectSE handleRequestMessage(Message<?> requestMessage)
AbstractReplyProducingMessageHandler
AbstractReplyProducingMessageHandler
の handleRequestMessage
requestMessage
- リクエストメッセージ。null
protected ObjectSE buildResult(ObjectSE key, Message<?> requestMessage, Message<?> releaseMessage)
key
- 相関キー。requestMessage
- 受信メッセージ。releaseMessage
- リリースメッセージ。public void trigger(Message<?> message)
MessageTriggerAction
MessageTriggerAction
の trigger
message
- メッセージ。