我有一个Spring Integration流的配置类,该类在流末尾具有文件输出通道适配器。复制文件后,我正在使用ConsumerEndpointSpec.advice()发送通知。这是我的忠告豆:
@Bean
public Advice outboundFileCopyAdvice()
{
ExpressionEvaluatingRequestHandlerAdvice advice = new ExpressionEvaluatingRequestHandlerAdvice();
advice.setOnSuccessExpression("??");
advice.setFailureChannel(fileCopySuccessChannel);
advice.setOnFailureExpression("??");
advice.setFailureChannel(fileCopyFailureChannel);
return advice;
}
我想问一下我应该用什么表情代替“ ??”获取对
Message<File>
对象的引用。我发现我可以使用诸如“ payload.toString()”或“ headers ['someKey']”之类的表达式,但是我无法提出一个提供对整个消息对象的引用的表达式。谢谢。
最佳答案
变量#root
引用消息对象(表达式求值的根对象)。payload.foo
和headers['bar']
是#root.payload.foo
(java:message.getPayload().getFoo()
)和#root.headers['bar']
(java:message.getHeaders().get("bar")
)的快捷方式。
SpEL Documentation here。