【问题标题】:spring integration tcp server shutdownspring 集成 tcp 服务器关闭
【发布时间】:2016-09-23 09:17:34
【问题描述】:

我已经使用 spring 集成编写了 tcp 服务器。感谢优秀的样品https://github.com/spring-projects/spring-integration-samples/tree/master/basic/tcp-client-server 如果用户在控制台上按下 q,示例服务器将停止。

TCP Server 是一个独立的应用程序,在接受请求和发送响应时运行得非常好。我想添加服务器的有序关闭,因为如果服务器作为后台进程启动,则无法访问控制台。

有没有办法让服务器等待事件?如果关闭事件发生,那么我可以调用 applicationContext.stop()。

如果您能就有序关闭过程提出任何想法,我将不胜感激。

谢谢

【问题讨论】:

    标签: java tcp server spring-integration shutdown


    【解决方案1】:

    我不确定您所说的是哪种“事件”,但您可以做很多事情。

    如果启用 JMX,IntegrationMBeanExporter 提供 orderly shutdown

    对于 TCP,这会阻止它接受新连接,丢弃任何新请求,并让您有时间等待任何进程中的请求终止)。

    您可以使用control-bus 向入站端点发送停止请求。

    控制总线消息的来源可以是您想要的任何东西 - 另一个 tcp 适配器...

    telnet 123.123.123.123
    bar.stop()
    

    或使用任何其他消息传递技术。

    或者你可以只使用操作系统来杀死 JVM。

    【讨论】:

    • 谢谢,加里。这就是我要找的。​​span>
    猜你喜欢
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 1970-01-01
    相关资源
    最近更新 更多