2016-09-29 58 views
0

我通过注释配置了相关的TCP以下配置的Spring集成项目:TCP消息1006

@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集成,什么是封装在ISO TCP消息的最佳方式TCP/RFC 1006?

基本上,TCP ISO为初始连接添加了一个步骤,但也为每个发送/接收的TCP消息添加了一个附加头。

我正在阅读文档,但我不知道什么可能是这种类型的消息丰富和谈判的最佳方式。 Spring集成有可能吗?

我有3个观点:

  • messageBuilderFactory
  • 串行器/解串器
  • TcpConnectionInterceptorFactoryChain

任何帮助/例子是值得欢迎的

回答

0

我没有看过的RFC但您可能需要自定义串行器/解串器,以及自定义TcpMessageMapper以将标头映射到/来自Spring Integration消息标头。

查看MessageConvertingTcpMessageMapper的示例。

+0

最后,我使用一个自定义的@Transformer。这是因为启动过程 – crm86