クラス CamelMessageHandler
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractMessageProducingHandler
org.springframework.integration.handler.AbstractReplyProducingMessageHandler
org.springframework.integration.camel.outbound.CamelMessageHandler
- 実装されたすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>
、Aware
、BeanClassLoaderAware
、BeanFactoryAware
、BeanNameAware
、DisposableBean
、InitializingBean
、ApplicationContextAware
、Ordered
、ComponentSourceAware
、ExpressionCapable
、Orderable
、MessageProducer
、HeaderPropagationAware
、IntegrationPattern
、NamedComponent
、IntegrationManagement
、TrackableComponent
、MessageHandler
、reactor.core.CoreSubscriber<Message<?>>
Apache Camel を呼び出してルートし、(オプションで) 応答を生成するための
MessageHandler
。 非同期モードでは、ProducerTemplate.asyncSend(Endpoint, Exchange)
が使用されます。
リクエストと応答の動作は、ExchangePattern
構成またはメッセージごとに制御できます。デフォルトでは、このハンドラーは ExchangePattern.InOnly
モードで動作します。
Spring Integration と Apache Camel メッセージ間のデフォルトの「すべてのヘッダーのマッピング」動作は、setHeaderMapper(HeaderMapper)
オプションを使用してカスタマイズできます。
呼び出すターゲット Apache Camel エンドポイントは、endpointUriExpression
によって決定できます。デフォルトでは、ProducerTemplate.getDefaultEndpoint()
が使用されます。
- 導入:
- 6.0
- 作成者:
- Artem Bilan
- 関連事項:
ネストされたクラスのサマリー
クラス org.springframework.integration.handler.AbstractReplyProducingMessageHandler から継承されたネストクラス / インターフェース
AbstractReplyProducingMessageHandler.RequestHandler
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverrides
フィールドのサマリー
クラス org.springframework.integration.handler.AbstractMessageProducingHandler から継承されたフィールド
messagingTemplate
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, logger
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected final void
doInit()
protected ObjectSE
handleRequestMessage
(Message<?> requestMessage) サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。void
setEndpointUri
(StringSE endpointUri) Camel ルートのエンドポイント uri を設定して、メッセージを送信します。void
setEndpointUriExpression
(Expression endpointUriExpression) Camel ルートのエンドポイント uri を設定して、メッセージを送信します。void
setExchangePattern
(org.apache.camel.ExchangePattern exchangePattern) void
setExchangePatternExpression
(Expression exchangePatternExpression) void
setExchangeProperties
(MapSE<StringSE, ObjectSE> exchangeProperties) void
setExchangePropertiesExpression
(Expression exchangePropertiesExpression) Exchange
プロパティをMap
SE として評価する SpEL 式を設定します。void
setHeaderMapper
(HeaderMapper<org.apache.camel.Message> headerMapper) リクエストと応答の交換パターンが使用されている場合は、リクエストメッセージヘッダーを Apache Camel メッセージヘッダーにマッピングし、元に戻すようにHeaderMapper
を設定します。void
setRoute
(org.apache.camel.builder.LambdaRouteBuilder route) LambdaRouteBuilder
を設定して、インライン Camel ルート定義を追加します。クラス org.springframework.integration.handler.AbstractReplyProducingMessageHandler から継承されたメソッド
doInvokeAdvisedRequestHandler, getBeanClassLoader, getIntegrationPatternType, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReply
クラス org.springframework.integration.handler.AbstractMessageProducingHandler から継承されたメソッド
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, setupMessageProcessor, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeaders
クラス org.springframework.integration.handler.AbstractMessageHandler から継承されたメソッド
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConvention
クラス org.springframework.integration.handler.MessageHandlerSupport から継承されたメソッド
buildSendTimer, destroy, getComponentType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrack
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース reactor.core.CoreSubscriber から継承されたメソッド
currentContext
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたメソッド
getThisAs
インターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentName
コンストラクターの詳細
CamelMessageHandler
public CamelMessageHandler()CamelMessageHandler
public CamelMessageHandler(org.apache.camel.ProducerTemplate producerTemplate)
メソッドの詳細
setEndpointUri
Camel ルートのエンドポイント uri を設定して、メッセージを送信します。setEndpointUriExpression(Expression)
およびsetRoute(LambdaRouteBuilder)
とは相互に排他的です。- パラメーター:
endpointUri
- メッセージを送信する Camel ルートエンドポイント。
setEndpointUriExpression
Camel ルートのエンドポイント uri を設定して、メッセージを送信します。setEndpointUri(String)
およびsetRoute(LambdaRouteBuilder)
とは相互に排他的です。- パラメーター:
endpointUriExpression
- メッセージを送信する Camel ルートエンドポイントを決定する SpEL 式。
setRoute
public void setRoute(org.apache.camel.builder.LambdaRouteBuilder route) LambdaRouteBuilder
を設定して、インライン Camel ルート定義を追加します。ラムダrb -> rb.from("direct:inbound").bean(MyBean.class)
または外部インスタンスへの参照として使用できます。setEndpointUri(String)
およびsetEndpointUriExpression(Expression)
とは相互に排他的です。メッセージを送信するエンドポイントは、ターゲットRouteBuilder
から抽出されます。- パラメーター:
route
- 使用するLambdaRouteBuilder
。
setExchangePattern
public void setExchangePattern(org.apache.camel.ExchangePattern exchangePattern) setExchangePatternExpression
setHeaderMapper
リクエストと応答の交換パターンが使用されている場合は、リクエストメッセージヘッダーを Apache Camel メッセージヘッダーにマッピングし、元に戻すようにHeaderMapper
を設定します。- パラメーター:
headerMapper
- 使用するHeaderMapper
。
setExchangeProperties
setExchangePropertiesExpression
Exchange
プロパティをMap
SE として評価する SpEL 式を設定します。- パラメーター:
exchangePropertiesExpression
- 交換プロパティの式。
doInit
protected final void doInit()- オーバーライド:
- クラス
AbstractReplyProducingMessageHandler
のdoInit
handleRequestMessage
クラスからコピーされた説明:AbstractReplyProducingMessageHandler
サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。戻り値は、メッセージ、MessageBuilder、任意のプレーンオブジェクトです。基本クラスは、これらの開始点のいずれかからの返信メッセージの最終的な作成を処理します。戻り値が null の場合、メッセージフローはここで終了します。- 次で指定:
- クラス
AbstractReplyProducingMessageHandler
のhandleRequestMessage
- パラメーター:
requestMessage
- リクエストメッセージ。- 戻り値:
- メッセージを処理した結果、または
null