Spring integration 创建TCP适配器Spring集成4

Spring integration 创建TCP适配器Spring集成4,spring-integration,Spring Integration,是否可以使用SpringIntegrationTCP适配器从远程主机和端口接收数据流? 如果是,如何在spring 4和spring java DSL上创建它的动态TCP适配器?该由tcprevivingChannelAdapter支持。因此,您应该为此配置@Bean,并为TcpNetClientConnectionFactory配置@Bean 如果您想从Spring Integration Java DSL中使用它,只需使用适当的工厂方法启动IntegrationFlow: @Bean pub

是否可以使用SpringIntegrationTCP适配器从远程主机和端口接收数据流? 如果是,如何在spring 4和spring java DSL上创建它的动态TCP适配器?

tcprevivingChannelAdapter
支持。因此,您应该为此配置
@Bean
,并为
TcpNetClientConnectionFactory
配置
@Bean

如果您想从Spring Integration Java DSL中使用它,只需使用适当的工厂方法启动
IntegrationFlow

@Bean
public IntegrationFlow tcpFlow() {
   return IntegrationFlows.from(myTcpAdapter())
         .....
         get();
}

是的,目前还没有IP组件的DSL,所以请随时提出问题,我们将在
1.1
版本中解决这个问题。

不要在其他答案中发布您的代码;改为编辑您的问题。TCP是一个流—您需要某种方法来分隔来自流的消息。
默认(De|S)序列化程序使用java序列化。您需要根据消息配置适当的(反)序列化程序。你可以读到这本书。如果没有一个可以满足您的需求,您将需要提供一个自定义实现。如果您从配置中省略它,将使用
ByteArrayCrLfSerializer
。很抱歉将代码发布到应答部分。谢谢你,加里。成功了。该场景是,PBX已配置为在两个不同的IP:port(即“X:port”和“Y:port”)上推送数据流。现在我正在“X”机器上部署应用程序&监听端口,以便能够接收流。要从计算机“X”接收来自“Y:port”的数据流,我应该怎么做?我是否需要编写自己的(反)序列化程序,因为对于一条记录,我接收到两个字节的流,如下所示:流1:B 021 T0050101 DN5201 03/16 14:14:24流2:&7030751585xxxxx 5201XXX。组合1和2,这是我唯一的记录。看起来像是一个单独的问题。当然。我将作为单独的问题发布。在过去,我遵循Gary在集成示例(动态ftp)中的方法,根据用户提供的配置动态创建适配器。因此,要基于配置创建tcp入站适配器,我应该遵循相同的方法,还是使用Spring4,我们可以以不同的方式实现相同的事情?