我有一个通过注释配置的Spring Integration项目,其配置与TCP相关:
@Bean
public TcpReceivingChannelAdapter tcpIn(AbstractClientConnectionFactory connectionFactory) {
TcpReceivingChannelAdapter receiver = new TcpReceivingChannelAdapter();
receiver.setOutputChannel(fromTcpReceiver());
receiver.setConnectionFactory(connectionFactory);
return receiver;
}
@Bean
public AbstractClientConnectionFactory clientFactory() {
TcpNetClientConnectionFactory factory = new TcpNetClientConnectionFactory(host, port);
factory.setSoKeepAlive(keepAlive);
factory.setSoTimeout(timeout);
return factory;
}
@Bean
public TcpSendingMessageHandler tcpOut(AbstractClientConnectionFactory connectionFactory) {
TcpSendingMessageHandler sender = new TcpSendingMessageHandler();
sender.setConnectionFactory(connectionFactory);
return sender;
}
在Spring Integration中,通过ISO TCP / RFC 1006封装TCP消息的最佳方法是什么?
基本上,TCP ISO为初始连接添加了一个步骤,但也为每个发送/接收的TCP消息添加了一个额外的头。
我正在阅读文档,但我不知道什么是这种类型的消息丰富和协商的最佳方式。这可以通过Spring Integration实现吗?
我有3个想法:
欢迎任何帮助/示例
答案 0 :(得分:0)
我没有看过RFC,但您可能需要自定义序列化器/反序列化器的组合,以及自定义TcpMessageMapper
以将标头映射到/从Spring Integration消息头(s) )。