我需要编写一个 Java 客户端应用程序,它需要与发送事件(xml 消息)的服务器建立 TCP 连接。在从服务器接收事件之前,客户端还将发送一条 xml 消息以在服务器上创建一个通道,然后服务器将返回一个响应。然后客户端在收到事件消息时,必须处理它们并通过同一 TCP 连接使用 xml 响应消息进行响应。服务器是一个遗留应用程序,我无法控制它。
服务器还发送健康检查消息以评估客户端创建的通道,客户端必须对其做出响应,以保持通道处于活动状态。
我对 Java 中的 NIO/Socket/TCP 编程没有经验,所以想知道什么是实现这个客户端的简单而优雅的方法。
我对 Spring 有很好的经验,我想知道是否可以使用 Spring 连接一些组件,例如 (1) TCP 连接网关/适配器,它将负责打开/监视连接状态 (2) 用于转换的 Marshaller/Unmarshaller从 XML 到 Java 的消息,反之亦然,以及 (3) 消息接收器和发送器,它实际接收/侦听消息并发送响应。
要记住的一件事是,服务器会发送大量事件消息,客户端必须非常快速地处理它们并立即响应。所以消息处理不能连续发生。
非常感谢任何对库或示例代码的建议或指针。
谢谢。