spring 集成 tcp 服务器关闭
spring integration tcp server shutdown
我已经使用 spring 集成编写了 tcp 服务器。感谢优秀的样品https://github.com/spring-projects/spring-integration-samples/tree/master/basic/tcp-client-server
如果用户在控制台上按下 q,示例服务器将停止。
TCP 服务器是一个独立的应用程序,可以完美地接受请求和发送响应。我想添加服务器的有序关闭,因为如果服务器作为后台进程启动,则无法访问控制台。
有没有办法让服务器等待事件?如果关闭事件来了,那么我可以调用 applicationContext.stop()。
如果您能就有序关机过程提出任何想法,我将不胜感激。
谢谢
我不确定你说的是哪种 "event" 但你可以做很多事情。
如果启用 JMX,IntegrationMBeanExporter
提供 orderly shutdown。
对于 TCP,这会阻止它接受新连接,丢弃任何新请求并让您有时间等待任何进程中的请求终止。
您可以使用 control-bus 向入站端点发送停止请求。
控制总线消息的来源可以是任何你想要的 - 另一个 TCP 适配器...
telnet 123.123.123.123
bar.stop()
或使用任何其他消息传递技术。
或者您可以只使用 OS 终止 JVM。
我已经使用 spring 集成编写了 tcp 服务器。感谢优秀的样品https://github.com/spring-projects/spring-integration-samples/tree/master/basic/tcp-client-server 如果用户在控制台上按下 q,示例服务器将停止。
TCP 服务器是一个独立的应用程序,可以完美地接受请求和发送响应。我想添加服务器的有序关闭,因为如果服务器作为后台进程启动,则无法访问控制台。
有没有办法让服务器等待事件?如果关闭事件来了,那么我可以调用 applicationContext.stop()。
如果您能就有序关机过程提出任何想法,我将不胜感激。
谢谢
我不确定你说的是哪种 "event" 但你可以做很多事情。
如果启用 JMX,IntegrationMBeanExporter
提供 orderly shutdown。
对于 TCP,这会阻止它接受新连接,丢弃任何新请求并让您有时间等待任何进程中的请求终止。
您可以使用 control-bus 向入站端点发送停止请求。
控制总线消息的来源可以是任何你想要的 - 另一个 TCP 适配器...
telnet 123.123.123.123
bar.stop()
或使用任何其他消息传递技术。
或者您可以只使用 OS 终止 JVM。