Spring 相当于 <int:gateway ... /> 的集成 DSL
Spring Integration DSL equivalent of <int:gateway ... />
什么是 Spring 集成 DSL 创建等效于
的方式
<int:gateway service-interface="MyService" default-request-channel="myService.inputChannel"/>
// where my existing interface looks like
interface MyService { process(Foo foo); }
我无法在 org.springframework.integration.dsl
中找到工厂,IntegrationFlows.from(...)
的 none 参数列表正在帮助自我发现。
感觉好像我缺少 https://github.com/spring-projects/spring-integration-java-dsl/wiki/Spring-Integration-Java-DSL-Reference#using-protocol-adapters 中的 Java
协议适配器之类的东西。
// I imagine this is what I can't find
IntegrationFlows.from(Java.gateway(MyService.class)
.channel("myService.inputChannel")
.get();
我唯一遇到的是在一个旧博客 post 上,但它似乎需要用 @MessagingGateway
和 @Gateway
注释界面,我想要避免。参见 https://spring.io/blog/2014/11/25/spring-integration-java-dsl-line-by-line-tutorial
我们最近在 Spring Integration 5.0 中做到了这一点。有了它你真的可以做到这一点:
@Bean
public IntegrationFlow controlBusFlow() {
return IntegrationFlows.from(ControlBusGateway.class)
.controlBus()
.get();
}
public interface ControlBusGateway {
void send(String command);
}
在最新的 blog post 中查看更多信息。
现在您别无选择,除非在接口上声明 @MessagingGateway
并从该网关定义的请求通道启动流程。
什么是 Spring 集成 DSL 创建等效于
的方式<int:gateway service-interface="MyService" default-request-channel="myService.inputChannel"/>
// where my existing interface looks like
interface MyService { process(Foo foo); }
我无法在 org.springframework.integration.dsl
中找到工厂,IntegrationFlows.from(...)
的 none 参数列表正在帮助自我发现。
感觉好像我缺少 https://github.com/spring-projects/spring-integration-java-dsl/wiki/Spring-Integration-Java-DSL-Reference#using-protocol-adapters 中的 Java
协议适配器之类的东西。
// I imagine this is what I can't find
IntegrationFlows.from(Java.gateway(MyService.class)
.channel("myService.inputChannel")
.get();
我唯一遇到的是在一个旧博客 post 上,但它似乎需要用 @MessagingGateway
和 @Gateway
注释界面,我想要避免。参见 https://spring.io/blog/2014/11/25/spring-integration-java-dsl-line-by-line-tutorial
我们最近在 Spring Integration 5.0 中做到了这一点。有了它你真的可以做到这一点:
@Bean
public IntegrationFlow controlBusFlow() {
return IntegrationFlows.from(ControlBusGateway.class)
.controlBus()
.get();
}
public interface ControlBusGateway {
void send(String command);
}
在最新的 blog post 中查看更多信息。
现在您别无选择,除非在接口上声明 @MessagingGateway
并从该网关定义的请求通道启动流程。