public abstract class AbstractMessageProducingHandler extends AbstractMessageHandler implements MessageProducer, HeaderPropagationAware
IntegrationManagement.ManagementOverrides| 修飾子と型 | フィールドと説明 |
|---|---|
protected MessagingTemplate | messagingTemplate |
EXPRESSION_PARSER, loggerHIGHEST_PRECEDENCE, LOWEST_PRECEDENCEMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME| コンストラクターと説明 |
|---|
AbstractMessageProducingHandler() |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | addNotPropagatedHeaders(StringSE... headers) 既存のセットを上書きする代わりに、 shouldCopyRequestHeaders() が true の場合に受信メッセージからコピーされないヘッダーパターン("xxx*"、"*xxx"、"*xxx*" または "xxx* yyy")を追加します。 |
protected Message<?> | createOutputMessage(ObjectSE output, MessageHeaders requestHeaders) |
CollectionSE<StringSE> | getNotPropagatedHeaders() このハンドラーが伝播しないヘッダーパターンを取得します。 |
MessageChannel | getOutputChannel() 出力チャネルを返します。 |
protected boolean | isAsync() |
protected AbstractIntegrationMessageBuilder<?> | messageBuilderForReply(ObjectSE reply) |
protected void | onInit() サブクラスは、初期化ロジック用にこれを実装できます。 |
protected void | produceOutput(ObjectSE replyArg, Message<?> requestMessage) |
protected ObjectSE | resolveErrorChannel(MessageHeaders requestHeaders) |
protected void | sendErrorMessage(Message<?> requestMessage, ThrowableSE ex) |
protected void | sendOutput(ObjectSE output, ObjectSE replyChannelArg, boolean useArgChannel) 出力メッセージを送信します。 |
protected void | sendOutputs(ObjectSE result, Message<?> requestMessage) |
void | setAsync(boolean async) 非同期返信を許可します。 |
void | setNotPropagatedHeaders(StringSE... headers)shouldCopyRequestHeaaders が true の場合に受信メッセージからコピーされないヘッダーパターン("xxx*"、"*xxx"、"*xxx*" または "xxx* yyy")を設定します。 |
void | setOutputChannel(MessageChannel outputChannel) 生成されたメッセージの送信先となる MessageChannel を指定します。 |
void | setOutputChannelName(StringSE outputChannelName) 生成されたメッセージの送信先となる MessageChannel の Bean 名を指定します。 |
void | setSendTimeout(long sendTimeout) 返信メッセージ送信のタイムアウトを設定します。 |
protected boolean | shouldCopyRequestHeaders() サブクラスはこれをオーバーライドできます。 |
protected boolean | shouldSplitOutput(IterableSE<?> reply) |
protected void | updateNotPropagatedHeaders(StringSE[] headers, boolean merge) 伝播されていないヘッダーを設定または置換します。 |
handleMessage, handleMessageInternal, onComplete, onError, onNext, onSubscribebuildSendTimer, destroy, getComponentType, getIntegrationPatternType, 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, waitSEgetThisAsgetBeanName, getComponentNameprotected final MessagingTemplate messagingTemplate
public void setSendTimeout(long sendTimeout)
sendTimeout - 送信タイムアウト。public void setOutputChannel(MessageChannel outputChannel)
MessageProducerMessageChannel を指定します。MessageProducer の setOutputChannel outputChannel - 出力チャネル。public void setOutputChannelName(StringSE outputChannelName)
MessageProducerMessageChannel の Bean 名を指定します。MessageProducer の setOutputChannelName outputChannelName - 出力チャネル Bean 名。public final void setAsync(boolean async)
ListenableFuture である場合、結果としてフューチャーを送信するのではなく、それが満たされたときに出力を送信します。ListenableFuture 以外の戻り値の型では無視されます。async - 許可する場合は true。protected boolean isAsync()
setAsync(boolean)public void setNotPropagatedHeaders(StringSE... headers)
shouldCopyRequestHeaaders が true の場合に受信メッセージからコピーされないヘッダーパターン("xxx*"、"*xxx"、"*xxx*" または "xxx* yyy")を設定します。"*" として少なくとも 1 つのパターンは、ヘッダーをまったくコピーしないことを意味します。HeaderPropagationAware の setNotPropagatedHeaders headers - 受信メッセージから伝播しないヘッダー。PatternMatchUtilsprotected final void updateNotPropagatedHeaders(StringSE[] headers, boolean merge)
setNotPropagatedHeaders(String...) は final ではないため、サブクラスがコンストラクターで特定のヘッダーを設定できるように公開されます。headers - 伝播しないヘッダーパターン。merge - 既存のパターンとマージする場合は true。置き換える場合は false。public CollectionSE<StringSE> getNotPropagatedHeaders()
HeaderPropagationAware の getNotPropagatedHeaders shouldCopyRequestHeaders() が true の場合に受信メッセージからコピーされないヘッダーの不変の CollectionSE。setNotPropagatedHeaders(String...), PatternMatchUtilspublic void addNotPropagatedHeaders(StringSE... headers)
shouldCopyRequestHeaders() が true の場合に受信メッセージからコピーされないヘッダーパターン("xxx*"、"*xxx"、"*xxx*" または "xxx* yyy")を追加します。HeaderPropagationAware の addNotPropagatedHeaders headers - 受信メッセージから伝播しないヘッダー。setNotPropagatedHeaders(String...)protected void onInit()
IntegrationObjectSupportIntegrationObjectSupport の onInit @Nullable public MessageChannel getOutputChannel()
MessageProducerMessageProducer の getOutputChannel protected boolean shouldSplitOutput(IterableSE<?> reply)
protected AbstractIntegrationMessageBuilder<?> messageBuilderForReply(ObjectSE reply)
protected Message<?> createOutputMessage(ObjectSE output, MessageHeaders requestHeaders)
protected void sendOutput(ObjectSE output, @Nullable ObjectSE replyChannelArg, boolean useArgChannel)
null である場合にのみ 'replyChannel' が考慮されます。その場合、'replyChannel' の値は null であってはならず、String または MessageChannel のいずれかのインスタンスである必要があります。output - 送信する出力オブジェクト replyChannelArg - 元のリクエストの "replyChannel" 値 useArgChannel - - 構成された出力チャネルではなく、replyChannel 引数 (null であってはなりません) を使用します。protected boolean shouldCopyRequestHeaders()
protected void sendErrorMessage(Message<?> requestMessage, ThrowableSE ex)
protected ObjectSE resolveErrorChannel(MessageHeaders requestHeaders)