tcp spring-boot spring-integration

¿Cómo crear una conexión Tcp en el arranque de primavera para aceptar conexiones?



spring-boot spring-integration (1)

He pasado por this y he entendido que necesito crear un TcpReceivingChannelAdapter para aceptar conexiones. Pero no sé cómo proceder con eso.

¿Podría alguien guiarme sobre esto?


Vea la muestra de tcp-client-server para algunos punteros usando la configuración XML.

Para la configuración de Java; Aquí hay una aplicación de arranque de primavera simple ...

package com.example; import java.net.Socket; import javax.net.SocketFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.integration.annotation.ServiceActivator; import org.springframework.integration.annotation.Transformer; import org.springframework.integration.channel.DirectChannel; import org.springframework.integration.ip.tcp.TcpReceivingChannelAdapter; import org.springframework.integration.ip.tcp.connection.AbstractServerConnectionFactory; import org.springframework.integration.ip.tcp.connection.TcpNetServerConnectionFactory; import org.springframework.integration.transformer.ObjectToStringTransformer; import org.springframework.messaging.MessageChannel; @SpringBootApplication public class So39290834Application { public static void main(String[] args) throws Exception { ConfigurableApplicationContext context = SpringApplication.run(So39290834Application.class, args); Socket socket = SocketFactory.getDefault().createSocket("localhost", 9999); socket.getOutputStream().write("foo/r/n".getBytes()); socket.close(); Thread.sleep(1000); context.close(); } @Bean public TcpNetServerConnectionFactory cf() { return new TcpNetServerConnectionFactory(9999); } @Bean public TcpReceivingChannelAdapter inbound(AbstractServerConnectionFactory cf) { TcpReceivingChannelAdapter adapter = new TcpReceivingChannelAdapter(); adapter.setConnectionFactory(cf); adapter.setOutputChannel(tcpIn()); return adapter; } @Bean public MessageChannel tcpIn() { return new DirectChannel(); } @Transformer(inputChannel = "tcpIn", outputChannel = "serviceChannel") @Bean public ObjectToStringTransformer transformer() { return new ObjectToStringTransformer(); } @ServiceActivator(inputChannel = "serviceChannel") public void service(String in) { System.out.println(in); } }