浏览 4502 次
锁定老帖子 主题:JMX端口无法释放
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-06-12
最后修改:2012-06-12
今日在用JMX做一些监控类的开发,在调试过程中发现一个问题,请大家指教。
-Djava.rmi.server.hostname=$host_ip -Dcom.sun.management.jmxremote.port=1112 -Dcom.sun.management.jmxremote.authenticate=(true|false) -Dcom.sun.management.jmxremote.ssl=(true|false)
使用上面的配置来启动resin(版本是3.0.25),经过一点时间后需要重新启动resin,这时发现resin无法启动,原因是刚才开启的1112监听端口仍被占用,所以resin无法启动了。
使用如下命令查看: netstat -anp | grep 1112
结果如下:
tcp 0 0.0.0.0:1112 0.0.0.0:* LISTEN -
不知大家有没有遇到这样的问题。
这个监听端口不能重用么?
3q。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-06-13
是不是你的app里有thread没有停
|
|
返回顶楼 | |
发表时间:2012-06-13
gearever 写道 是不是你的app里有thread没有停
应该不是,整个resin都已经停了,也就没有thread没停的问题了。 |
|
返回顶楼 | |
发表时间:2012-06-18
好吧,这种情况如果是偶发的,你就只能重启了,因为系统也没有停止某个端口的权利...
|
|
返回顶楼 | |
发表时间:2012-06-18
foohsinglong 写道 好吧,这种情况如果是偶发的,你就只能重启了,因为系统也没有停止某个端口的权利...
重启服务器? 经理会吃了我的。 |
|
返回顶楼 | |
发表时间:2012-07-17
caoxudong818 写道 foohsinglong 写道 好吧,这种情况如果是偶发的,你就只能重启了,因为系统也没有停止某个端口的权利...
重启服务器? 经理会吃了我的。 这个真的只有这样,你端口被占用也就意味着某个服务还在使用这个端口,你要么kill掉这个进程,要么重启.实际上你端口被占用你的服务就已经运行不了了,重启经理也不会说什么的. |
|
返回顶楼 | |
发表时间:2012-07-17
foohsinglong 写道 caoxudong818 写道 foohsinglong 写道 好吧,这种情况如果是偶发的,你就只能重启了,因为系统也没有停止某个端口的权利...
重启服务器? 经理会吃了我的。 这个真的只有这样,你端口被占用也就意味着某个服务还在使用这个端口,你要么kill掉这个进程,要么重启.实际上你端口被占用你的服务就已经运行不了了,重启经理也不会说什么的. 对于这个问题,目前我的解决方法是换一个端口,重启服务。对于为何没有释放掉这个端口,目前还在查找原因,希望后续可以找到具体的原因。重启服务器这个有些动作过大了,暂时还无法采用。 谢谢关注。 |
|
返回顶楼 | |
发表时间:2013-03-09
JMX也是基于TCP实现的吧,怀疑和TCP相关的配置有关。
我看了这里面的一段描述http://www.cnblogs.com/jerrychoi/archive/2010/04/15/1712931.html,猜测以下内容和这个也许有关系: SO_RESUSEADDR选项 为了确保一个进程关闭了Socket后,即使它还没释放端口,同一个主机上的其他进程还可以立刻重用该端口,可以调用Socket的setResuseAddress(true) |
|
返回顶楼 | |