我打算修改Netty UptimeClient(见这里).原始版本设计为无休止地运行:它在断开连接时重新连接到主机.我想在UptimeClient.java中添加一个'terminate'方法.该方法将断开或停止重新连接进程与外部线程,正常关闭Netty,并返回.
由于客户端通道可能因重新连接过程而发生变化,因此将"bootstrap.connect()"返回的所有通道保留在ChannelGroup中是否安全,并在释放Netty资源之前使用该组调用"close"?
你会如何实现'终止'方法?(编辑:使用3.7.0)
在Nety 4.0,你可以调用shutdownGracefully(...)
的EventLoopGroup
管理你所有的通道.然后,所有现有频道将自动关闭,并且应拒绝重新连接尝试.如果这不起作用,请随时提出问题.
如果您使用Netty 3.x,遗憾的是,没有自动机制.您必须确保关闭所有通道,因为事件循环在有一个要管理的通道之前不会自行终止.有关更多信息,请参阅NioClientChannelFactory
('线程生命周期和正常关闭')
归档时间: |
|
查看次数: |
3009 次 |
最近记录: |