2016-09-29 60 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