gpt4 book ai didi

java - Netty:停止重新连接并关闭

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:48:36 28 4
gpt4 key购买 nike

我计划修改 Netty UptimeClient(参见 here)。原始版本设计为无限运行:在断开连接的情况下重新连接到主机。我想在 UptimeClient.java 中添加一个“终止”方法。该方法将断开或停止与外部线程的重新连接过程,优雅地关闭 Netty,然后返回。

由于客户端 channel 可能会因重新连接过程而发生变化,将“bootstrap.connect()”返回的所有 channel 保存在 ChannelGroup 中并在释放 Netty 的资源之前使用该组调用“关闭”是否安全?

您将如何实现“终止”方法? (编辑:使用 3.7.0)

最佳答案

在 Nety 4.0 中,您只需在管理所有 channel 的 EventLoopGroup 上调用 shutdownGracefully(...)。然后所有现有 channel 将自动关闭,并应拒绝重新连接尝试。如果这不起作用,请随时提出问题。

不幸的是,如果您使用的是 Netty 3.x,则没有自动机制。您必须确保关闭所有 channel ,因为事件循环在有一个 channel 要管理之前不会自行终止。更多信息请引用NioClientChannelFactory ('线程的生命周期与优雅关闭')

关于java - Netty:停止重新连接并关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19747323/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com