クラス ExpressionEvaluatingRequestHandlerAdvice
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice
org.springframework.integration.handler.advice.ExpressionEvaluatingRequestHandlerAdvice
- 実装されたすべてのインターフェース:
Advice
、Interceptor
、MethodInterceptor
、Aware
、BeanFactoryAware
、BeanNameAware
、InitializingBean
、ApplicationContextAware
、ComponentSourceAware
、ExpressionCapable
、NamedComponent
MessageHandler
をアドバイスするために使用されます。2 つの式 "onSuccessExpression" と "onFailureExpression" は、適切な場合に評価されます。評価によって結果が返された場合、メッセージが onSuccessChannel または onFailureChannel に適宜送信されます。メッセージは、ペイロードに評価結果を含む AdviceMessage
と、エンドポイントに送信された元のメッセージを含む inputMessage
プロパティです。成功式が例外をスローした場合、失敗式は評価されません。 式が構成されていないがチャネルが構成されている場合、デフォルトの式はメッセージから payload
にのみ評価されます。
- 導入:
- 2.2
- 作成者:
- Gary Russell, Artem Bilan
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明static class
クラス org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice から継承されたネストクラス / インターフェース
AbstractRequestHandlerAdvice.ExecutionCallback, AbstractRequestHandlerAdvice.ThrowableHolderException
フィールドのサマリー
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, logger
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected StandardEvaluationContext
protected ObjectSE
doInvoke
(AbstractRequestHandlerAdvice.ExecutionCallback callback, ObjectSE target, Message<?> message) サブクラスは、このメソッドを実装して、MessageHandler
に動作を適用します。protected void
onInit()
サブクラスは、初期化ロジック用にこれを実装できます。void
setFailureChannel
(MessageChannel failureChannel) 失敗式を評価した後、ErrorMessage
を送信するチャネルを設定します。void
setFailureChannelName
(StringSE failureChannelName) 失敗式を評価した後、ErrorMessage
を送信するチャネル名を設定します。void
setOnFailureExpression
(Expression onFailureExpression) ハンドラーの呼び出しが失敗した後にルートメッセージに対して評価する式を設定します。void
setOnFailureExpressionString
(StringSE onFailureExpression) ハンドラーの呼び出しが失敗した後にルートメッセージに対して評価する式を設定します。void
setOnSuccessExpression
(Expression onSuccessExpression) ハンドラーの呼び出しが成功した後、メッセージに対して評価する式を設定します。void
setOnSuccessExpressionString
(StringSE onSuccessExpression) ハンドラーの呼び出しが成功した後、メッセージに対して評価する式を設定します。void
setPropagateEvaluationFailures
(boolean propagateOnSuccessEvaluationFailures) true の場合、onSuccess 式の評価が例外で失敗すると、呼び出し元に例外がスローされます。void
setReturnFailureExpressionResult
(boolean returnFailureExpressionResult) true の場合、onFailureExpression の評価結果が AbstractReplyProducingMessageHandler.handleRequestMessage(Message) の結果として返されます。void
setSuccessChannel
(MessageChannel successChannel) 成功の式を評価した後、AdviceMessage
を送信するチャネルを設定します。void
setSuccessChannelName
(StringSE successChannelName) 成功の式を評価した後、AdviceMessage
を送信する先のチャネル名を設定します。void
setTrapException
(boolean trapException) true の場合、例外がキャッチされ、null が返されます。クラス org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice から継承されたメソッド
invoke, unwrapExceptionIfNecessary, unwrapThrowableIfNecessary
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getComponentType, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
コンストラクターの詳細
ExpressionEvaluatingRequestHandlerAdvice
public ExpressionEvaluatingRequestHandlerAdvice()
メソッドの詳細
setOnSuccessExpressionString
ハンドラーの呼び出しが成功した後、メッセージに対して評価する式を設定します。successChannel
が構成されている場合、デフォルトはpayload
です。- パラメーター:
onSuccessExpression
- SpEL 式。- 導入:
- 4.3.7
setOnSuccessExpression
ハンドラーの呼び出しが成功した後、メッセージに対して評価する式を設定します。successChannel
が構成されている場合、デフォルトはpayload
です。- パラメーター:
onSuccessExpression
- SpEL 式。- 導入:
- 5.0
setOnFailureExpressionString
ハンドラーの呼び出しが失敗した後、ルートメッセージに対して評価する式を設定します。例外は変数#exception
として利用できます。failureChannel
が構成されている場合、デフォルトはpayload
です。- パラメーター:
onFailureExpression
- SpEL 式。- 導入:
- 4.3.7
setOnFailureExpression
ハンドラーの呼び出しが失敗した後、ルートメッセージに対して評価する式を設定します。例外は変数#exception
として利用できます。failureChannel
が構成されている場合、デフォルトはpayload
です。- パラメーター:
onFailureExpression
- SpEL 式。- 導入:
- 5.0
setSuccessChannel
成功の式を評価した後、AdviceMessage
を送信するチャネルを設定します。- パラメーター:
successChannel
- チャンネル。
setSuccessChannelName
成功の式を評価した後、AdviceMessage
を送信する先のチャネル名を設定します。- パラメーター:
successChannelName
- チャンネル名。- 導入:
- 4.3.7
setFailureChannel
失敗式を評価した後、ErrorMessage
を送信するチャネルを設定します。- パラメーター:
failureChannel
- チャンネル。
setFailureChannelName
失敗式を評価した後、ErrorMessage
を送信するチャネル名を設定します。- パラメーター:
failureChannelName
- チャンネル名。- 導入:
- 4.3.7
setTrapException
public void setTrapException(boolean trapException) true の場合、例外がキャッチされ、null が返されます。デフォルトは false です。- パラメーター:
trapException
- 例外をトラップするために true。
setReturnFailureExpressionResult
public void setReturnFailureExpressionResult(boolean returnFailureExpressionResult) true の場合、onFailureExpression の評価結果が AbstractReplyProducingMessageHandler.handleRequestMessage(Message) の結果として返されます。- パラメーター:
returnFailureExpressionResult
- true は、評価の結果を返します。
setPropagateEvaluationFailures
public void setPropagateEvaluationFailures(boolean propagateOnSuccessEvaluationFailures) true の場合、onSuccess 式の評価が例外で失敗すると、呼び出し元に例外がスローされます。false の場合、例外はキャッチされます。デフォルトは false です。onFailure 式の評価では無視され、元の例外が伝播されます (trapException が true でない限り)。- パラメーター:
propagateOnSuccessEvaluationFailures
- 設定する propagateOnSuccessEvaluationFailures。
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupport
サブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
IntegrationObjectSupport
のonInit
doInvoke
protected ObjectSE doInvoke(AbstractRequestHandlerAdvice.ExecutionCallback callback, ObjectSE target, Message<?> message) クラスからコピーされた説明:AbstractRequestHandlerAdvice
サブクラスは、このメソッドを実装して、MessageHandler
に動作を適用します。callback.execute() はハンドラーメソッドを呼び出し、その結果、null を返します。
- 次で指定:
- クラス
AbstractRequestHandlerAdvice
のdoInvoke
- パラメーター:
callback
- サブクラスは、このインターフェースで execute() メソッドを呼び出して、ハンドラーメソッドを呼び出します。target
- ターゲットハンドラー。message
- ハンドラーに送信されるメッセージ。- 戻り値:
MessageHandler
を呼び出した後の結果。
createEvaluationContext