与 tcp-outbound-gateway 等效的 java 配置是什么?
What is the java config equivalent to tcp-outbound-gateway?
我有以下 spring-集成 XML 配置
<ip:tcp-outbound-gateway id="outboundClient"
request-channel="requestChannel"
reply-channel="string2ObjectChannel"
connection-factory="clientConnectionFactory"
request-timeout="10000"
reply-timeout="10000"/>
如何编写与上述等价的 Java 配置?
我以为等价物是
@Bean
public TcpOutboundGateway outboundClient() {
TcpOutboundGateway tcpOutboundGateway = new TcpOutboundGateway();
tcpOutboundGateway.setConnectionFactory(clientConnectionFactory());
tcpOutboundGateway.setRequiresReply(true);
tcpOutboundGateway.setReplyChannel(string2ObjectChannel());
tcpOutboundGateway.setRequestTimeout(10000);
tcpOutboundGateway.setSendTimeout(10000);
return tcpOutboundGateway;
}
但是我找不到设置请求通道的方法。
任何帮助将不胜感激。
谢谢
您的配置看起来不错,但您还应该知道任何 Spring Integration Consumer 组件都包含两个主要对象:MessageHandler
(在您的情况下为 TcpOutboundGateway
)和 EventDrivenConsumer
对于 subscriable
input-channel
或 PollingConsumer
如果 input-channel
是 Pollable
.
因此,既然您已经有了第一个处理部分,您还需要另一个消耗部分。为此 Spring 集成建议使用端点注释标记您的 @Bean
:
@Bean
@ServiceActivator(inputChannel = "requestChannel")
public TcpOutboundGateway outboundClient() {
在 Spring Integration Reference Manual 中查看更多信息。
然而,要允许这样的注释过程(或任何其他 Spring 集成基础设施),您必须用 @EnableIntegration
标记您的 @Configuration
。
也考虑使用 Spring Integration Java DSL 从 JavaConfig 中获得更多收益。
我有以下 spring-集成 XML 配置
<ip:tcp-outbound-gateway id="outboundClient"
request-channel="requestChannel"
reply-channel="string2ObjectChannel"
connection-factory="clientConnectionFactory"
request-timeout="10000"
reply-timeout="10000"/>
如何编写与上述等价的 Java 配置? 我以为等价物是
@Bean
public TcpOutboundGateway outboundClient() {
TcpOutboundGateway tcpOutboundGateway = new TcpOutboundGateway();
tcpOutboundGateway.setConnectionFactory(clientConnectionFactory());
tcpOutboundGateway.setRequiresReply(true);
tcpOutboundGateway.setReplyChannel(string2ObjectChannel());
tcpOutboundGateway.setRequestTimeout(10000);
tcpOutboundGateway.setSendTimeout(10000);
return tcpOutboundGateway;
}
但是我找不到设置请求通道的方法。 任何帮助将不胜感激。
谢谢
您的配置看起来不错,但您还应该知道任何 Spring Integration Consumer 组件都包含两个主要对象:MessageHandler
(在您的情况下为 TcpOutboundGateway
)和 EventDrivenConsumer
对于 subscriable
input-channel
或 PollingConsumer
如果 input-channel
是 Pollable
.
因此,既然您已经有了第一个处理部分,您还需要另一个消耗部分。为此 Spring 集成建议使用端点注释标记您的 @Bean
:
@Bean
@ServiceActivator(inputChannel = "requestChannel")
public TcpOutboundGateway outboundClient() {
在 Spring Integration Reference Manual 中查看更多信息。
然而,要允许这样的注释过程(或任何其他 Spring 集成基础设施),您必须用 @EnableIntegration
标记您的 @Configuration
。
也考虑使用 Spring Integration Java DSL 从 JavaConfig 中获得更多收益。