关闭mina服务_如何彻底关闭MINA客户端
在使用MINA做客户端程序时,发现虽然调用了session.close()方法,通过日志也确实看到当前session已经被关闭了,但未什么客户端程序进程却没有停止呢?即MINA客户端没有根本的关闭。这个现象在版本1和2中都存在。这是MINA的bug吗???其实不然...
我们可以启动2个服务器端,然后用同一个connector实例来连接这2台服务器,通过结果可以发现2个连接是相互独立工作的,及connector和session不是一对一的。
通过查阅API和源代码,我们可以发现这里的connector实际是一个连接管理器,其内部通过一个connectQueue队列同步存储一个连接列表。并在调用connect()方法时,将当前连接请求注册到队列中;同时connector中启动着一个内部的Worker(工作线程)来管理这些连接。当我们关闭某个session之后,只是关闭了某个请求,工作线程其实并没有被关闭,所以出现程序没有停止的现象。
MINA1.1.7
可以通过设置工作超时来关闭连接,当所有的连接都被关闭后worker线程将停止,即connector停止。
connector.setWorkerTimeout(1); //1秒钟(默认超时60秒)
PS:Worker定义在SocketConnector类中,内部直接实现管理
MINA2.0
可以调用connector的dispose()方法。该方法通过调用ExecutorService的shutdown()方法停止业务处理线程,并设置内部disposed标志位标识需要停止连接管理器;Worker线程通过该标识停止。
connector.dispose();
PS: Worker定义在AbstractPollingIoConnector类中,disposed标志在AbstractIoService类中,通过dispose()方法停止ExecutorService并设置disposed标志
关闭mina服务_如何彻底关闭MINA客户端相关推荐
- win7系统要停止服务器,win7系统中可关闭的服务选项,可关闭服务选项大全
为了加速系统的运行很多人会选择关闭系统不必要的服务,来腾出系统的运行空间,从而得到加快系统速度的目的.这个时候问题就来了,什么该禁止,什么不该禁止就成了我们困扰的问题,因为一个不小心就会禁用必要的功能 ...
- 关闭openssh服务_关于redhat7的openssh漏洞升级修复方法
点击上方蓝字关注我们 今日互动话题 今年的圣诞节你想怎么过? 好好学习下openssh版本如何升级修复低版本漏洞吧 由于openssh爆出一个特殊漏洞,涉及到8.3p1及以下版本,升级到8.4p1版本 ...
- java启动mysq服务_启动和关闭MySQL服务
在windows下 : 启动: 1.cd c:/mysql/bin 2.mysqld --console 关闭: 1.cd c:/mysql/bin 2.mysqladmin -uroot shutd ...
- 打开和关闭mysql服务器_启动和关闭MySQL服务器
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 作为MySQL管理员,一个普通的目标就是确保服务器尽可能地处于运行状态,使得客户机能够随时访问它.但是,有时最好关闭服务器 ...
- 关闭mysql方法_启动和关闭MySQL的方法
启动和关闭MySQL的方法 (1)启动 MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动MySQL服务时运行下面命令即可. [root@test1 init.d]# / ...
- 如何关闭win10防火墙_[教程] 如何关闭win10自动更新?
Windows 10是微软独立发布的最后一个Windows版本,下一代Windows将作为更新形式出现,也就是类似win10 10240.10586等.但win10都会开启自动更新,如何彻底关闭?下面 ...
- 联想电脑如何改w ndows更新,联想电脑关闭自动更新_联想怎么关闭自动更新
2016-12-09 15:57:45 1. 点电脑右下角"开始"菜单,进入控制面板2.在"控制面板"里面选择"系统和安全"3.进入&quo ...
- c mysql 关闭连接池_数据库连接池关闭的时间
上一篇说到分析关闭连接与不关闭连接的性能,到后来我发现自己得出的结论有误.经过多次测试发现关闭连接和不关闭连接耗费的时间基本一样.进哥也说了这是有连接池的原因.其实,自己以前对Ado.net了解的不深 ...
- 如何关闭win10防火墙_如何彻底关闭win10自带杀毒软件:windows defender?
Windows Defender是微软系统自带的杀毒工具,默认是开启的,在win10系统之前,是可以手动关闭的,但到了win10后你只能临时关闭,当你重启电脑后它还会自动开启,而且即便你不重启,由于w ...
最新文章
- Error:org.gradle.api.internal.changedetection.state.FileCollectionSnapshotImpl cannot be cast to org
- c语言仓库管理系统链表,仓库管理系统 C语言 C++ 数据结构 链表 课程设计
- 动态存储和静态存储区域区别
- 使用Docker构建Oracle ADF应用程序
- 基于ssm框架和freemarker的商品销售系统
- 想加入IT行业为何建议你学Python,不要错过时机哦
- 中剪取一种颜色的板块_不知道UI设计中APP界面版式如何排版?来看这个!
- Bootstrap 表单控件的状态
- java最大最小距离算法缺点_java算法(蓝桥杯)- 算法提高 题目1 最大最小值
- 微信小程序排行榜模板
- java实现向PDF中插入图片
- 神经网络之输出层设计
- MongoDB分片存储集群支撑海量数据
- 【Unity】U3D ARPG游戏制作实例(一)EasyTouch5完整示例
- bootstrap表格标题Caption位于表格下方的原因
- 基于Python的网络爬虫爬取天气数据可视化分析
- SAP中公司间过账问题处理实例
- JDK各个版本安装以及配置,超详细
- centos图像界面和dos界面之间切换
- 迭代法求解递推方程,
热门文章
- 《犯罪心理学》读书笔记(part3)--影响犯罪心理形成发展的外部因素
- SAP 电商云 UI State persistence 状态持久化设计的入口 - initSync
- JavaScript 里三个点 ... 的用法
- SAP Spartacus 服务器端渲染的依赖注入之 ProductPageEventBuilder
- 如何查看 SAP Fiori Elements List Report Table 都支持哪些设置
- 如何隐藏SAP Spartacus home页面标准的header区域
- SAP Data Hub里的Constant Generator
- SAP Analytics Cloud里的Smart Discovery功能介绍
- 介绍一种Fiori标准应用的增强方式
- SAP UI5 js file will be executed immediately after downloaded successfully