有没有办法使用 java 注释在 spring-integration 中编写过滤器?



我正在尝试在 spring-integration 中转换 xml 配置,我遇到了一个过滤器,如下所示:

<
int:filter
expression="someFilterExpression"
input-channel="inputChannel"
output-channel="outputChannel"
discard-channel="discardChannel"
/>

有没有办法为此提出一个等效的 Java 注释?我尝试使用@Filter注释,但它不包括表达式字段。

我不确定我是否完全理解你的问题。如果你使用注释,它的全部原因是因为你有一些复杂的逻辑,不能不应该用 SpEL 表达,所以它让你有机会编写一些 java 代码,让框架知道这是一个过滤器。 还有DSL,我认为这篇文章很好地涵盖了它 - 弹簧集成dsl过滤器而不是过滤器方法注释

感谢您为我指出正确的方向。进一步详细说明我所做的事情。我放入了弹簧集成 dsl 依赖项

<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-java-dsl</artifactId>
<version>1.2.3.RELEASE</version>
</dependency>

并使用集成流来构建过滤器。我通过以下方式做到了:

@Bean
public IntegrationFlow filter() {
return IntegrationFlows
.from("someInputChannel")
.filter(
"someFilterExpression",
e -> e.discardChannel("someDiscardChannel"))
.channel("someOutputChannel")
.get();
}

所以,上面的Java DSL基本上和:

<
int:filter
expression="someFilterExpression"
input-channel="someInputChannel"
output-channel="someOutputChannel"
discard-channel="someDiscardChannel"
/>

再次非常感谢您的回答。 :)

相关内容

  • 没有找到相关文章

最新更新