我应该与旧系统进行交互,在旧系统中,我必须使用java / kotlin中的spring-integration设置TCP客户端,以将消息发送到TCP系统并接收其响应,解析该响应并将其发送给其他客户端通过REST。我浏览了许多文档和博客,其中介绍了如何通过xml进行操作。找不到所有内容的对应注释。任何代码段都将非常有帮助。
@Service
class MyService{
@Autowired
MyGateway gateway;
public String callTCPClient(String msg){
return gateway.exchange(msg);
}
}
interface MyGateway{
String exchange (String msg)
}
答案 0 :(得分:1)
如该答案所示,您可以在收到响应后随心所欲...
@Bean
public IntegrationFlow client() {
return IntegrationFlows.from(MyGateway.class)
.handle(Tcp.outboundGateway(
Tcp.netClient("localhost", 1234)
.serializer(codec()) // default is CRLF
.deserializer(codec()))) // default is CRLF
.transform(Transformers.objectToString()) // byte[] -> String
.get();
}
在这种情况下,我们只是将字节数组转换为字符串,但是您可以对其执行所需的任何操作,例如JSON到对象。您可以根据需要添加任意数量的步骤-添加.handle(...)
元素以调用任意方法。阅读Spring Integration Reference Manual。