消息发送到流之后,入站适配器永远不会采取任何 *** 作(自行执行)。它不了解有关下游流拓扑的任何信息-异步切换等。在删除文件之后和发送消息之前完成远程删除。
由于您已经在使用伪事务,并且在轮询程序线程上进行了所有 *** 作,因此可以使用进行删除
after-commit-expression。
另一种技术是将a添加
request-handler-advice到最终使用者(在您的情况下为服务激活器)。这证明在该
retry-and-more示例应用程序。
编辑:
回应您在下面的评论;否,使用SpEL不可能做两件事-但是,您可以使用
<int:after-commit expression="payload" channel="postProcess"/>
并在
postProcess通道下游进行所需的 *** 作。
但是,对于我来说,尚不清楚为什么要从过滤器中删除文件以获取成功和失败的信息-您应该只使用一个
AcceptAllFileListFilter。
顺便说一句,我看不到您
acceptOnceFilter在这里的任何地方使用过-您是否打算将其配置为
local-filter属性?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)