public class MessageHandlerChain extends AbstractMessageProducingHandler implements CompositeMessageHandler, ManageableLifecycle
MessageHandler 実装。 最後のハンドラーを除く各ハンドラーは、MessageProducer インターフェースを実装する必要があります。最後のハンドラーは、チェーン自体に出力チャネルが構成されている場合にも必要です。ハンドラーの型について他の前提はありません。
強制されていませんが、各ハンドラーが応答メッセージを生成してその出力チャネルに送信することが期待されます。たとえば MessageFilter を使用して、チェーンの途中でメッセージをフィルタリングすることができます。null を返す MessageHandler でも同じ効果がありますが、このオプションはあまり表現力がありません。
このコンポーネントを名前空間から使用して、暗黙的に作成できるチャネルを削除することにより、構成の可読性を向上させることができます。
<chain>
<filter ref="someFilter"/>
<bean class="SomeMessageHandlerImplementation"/>
<transformer ref="someTransformer"/>
<aggregator ... />
</chain>
IntegrationManagement.ManagementOverridesmessagingTemplateEXPRESSION_PARSER, loggerHIGHEST_PRECEDENCE, LOWEST_PRECEDENCEMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME| コンストラクターと説明 |
|---|
MessageHandlerChain() |
| 修飾子と型 | メソッドと説明 |
|---|---|
StringSE | getComponentType() サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。 |
ListSE<MessageHandler> | getHandlers() ハンドラーの変更不可能なリストを返します。 |
IntegrationPatternType | getIntegrationPatternType() このコンポーネントが実装するパターン型を返します。 |
protected void | handleMessageInternal(Message<?> message) |
boolean | isRunning()SmartLifecycle の実装 ( handlers へのデリゲート) |
protected void | onInit() サブクラスは、初期化ロジック用にこれを実装できます。 |
void | setHandlers(ListSE<MessageHandler> handlers) |
protected boolean | shouldCopyRequestHeaders() サブクラスはこれをオーバーライドできます。 |
void | start() |
void | stop() |
void | stop(RunnableSE callback) |
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, 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 void setHandlers(ListSE<MessageHandler> handlers)
public ListSE<MessageHandler> getHandlers()
CompositeMessageHandlerCompositeMessageHandler 内の getHandlers public StringSE getComponentType()
IntegrationObjectSupportNamedComponent 内の getComponentType MessageHandlerSupport の getComponentType public IntegrationPatternType getIntegrationPatternType()
IntegrationPatternIntegrationPattern 内の getIntegrationPatternType MessageHandlerSupport の getIntegrationPatternType IntegrationPatternTypeprotected void onInit()
IntegrationObjectSupportAbstractMessageProducingHandler の onInit protected void handleMessageInternal(Message<?> message)
AbstractMessageHandler の handleMessageInternal protected boolean shouldCopyRequestHeaders()
AbstractMessageProducingHandlerAbstractMessageProducingHandler の shouldCopyRequestHeaders public final boolean isRunning()
handlers へのデリゲート)Lifecycle 内の isRunning ManageableLifecycle 内の isRunning public final void start()
Lifecycle 内の start ManageableLifecycle 内の start public final void stop()
Lifecycle 内の stop ManageableLifecycle 内の stop public final void stop(RunnableSE callback)