文档章节

解决tomcat shutdown时的地址被占用问题

x
 xwater
发布于 2015/01/22 15:25
字数 310
阅读 696
收藏 0

总是在tomcat的启动脚本catalina.sh的一开始加上dubug参数,以供远程debug,原参数如下

JAVA_OPTS='-XX:PermSize=728m -XX:MaxPermSize=728m -Xms1024m -Xmx1024m -DNode=DLOG4J 
-DProductMode=false -Dfile.encoding=utf-8 
-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n'

 

但是这样做后,再运行tomcat的shutdown.sh脚本会报错:

ERROR: transport error 202: bind failed: Address already in use ["transport.c",L41]
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) ["debugInit.c",L500]
JDWP exit error JVMTI_ERROR_INTERNAL(113): No transports initializedFATAL ERROR in native method: JDWP No transports initialized, jvmtiError=JVMTI_ERROR_INTERNAL(113)

以前总是懒得弄,直接killall -9 java 了事,但是现在同一台机器上装了很多服务,不能直接 killall了,用ps -ef | grep java去查又比较麻烦

所以查了一下google,得到结果

You are trying to debug tomcat on startup, so it binds to port 5005 when the jvm starts.

When you run catalina.sh stop, it starts up another jvm which also tries to bind to port 5005.

You need to move the debug args to the run and start arguments (in catalina.sh) of tomcat, putting them straight into the JAVA_OPTS is the cause of the issue you're having.

最后有一个非常简单的解决方法:

CATALINA_OPTS 参数替代 JAVA_OPTS 参数 

把dubug参数换成:

CATALINA_OPTS='-XX:PermSize=728m -XX:MaxPermSize=728m -Xms1024m -Xmx1024m -DNode=DLOG4J  
-DProductMode=false  -Dfile.encoding=utf-8 
-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n'


© 著作权归作者所有

x
粉丝 0
博文 6
码字总数 1156
作品 0
廊坊
程序员
私信 提问
加载中

评论(0)

org.apache.catalina.startup.Catalina stopServer SEVERE: Could not contact localhost:8005. Tomcat may

org.apache.catalina.startup.Catalina stopServer SEVERE: Could not contact localhost:8005. Tomcat may 2017年07月21日 14:52:10 子木HAPPY阳VIP 阅读数:14136 标签: tomcatnginx 更多......

linjin200
2018/12/12
283
0
nginx负载均衡多台tomcat,session共享,session丢失

用loadrunner负载测试了一下一个项目,结果发现,并发量在70的时候,响应时间已经达到了30秒,这是不能忍受的。再次负载100个并发,tomcat挂了,session丢失率9成多。 考虑到多并发,搭载ngi...

szu_吴鹏
2013/05/13
4.5K
10
centos6.7安装tomcat7

1.下载JDK与Tomcat. jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html tomcat下载地址: http://tomcat.apache.org/download-70.cgi 2.jd......

rock912
2016/10/18
46
0
centos6.7安装tomcat7

1.下载JDK与Tomcat. jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html tomcat下载地址: http://tomcat.apache.org/download-70.cgi 2.jd......

miaojiangmin
2016/10/30
3
0
tomcat 设置CATALINA_PID, shutdown失败后,会kill pid

当使用jmxremote监控JVM之后,tomcat shutdown 不掉。jmx端口12345 一直被占用。只能使用kill 掉java 的pid。 不用自己手动kill 掉tomcat 。可以设置在setenv.sh 中设置CATALINA_PID=/var/r...

zhailibao
2016/05/20
1.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

如何为“选择”框创建占位符? - How do I make a placeholder for a 'select' box?

问题: I'm using placeholders for text inputs which is working out just fine. 我正在使用占位符进行文本输入,效果很好。 But I'd like to use a placeholder for my selectboxes as we......

技术盛宴
今天
79
0
Redis知识点(二)

五种数据类型 首先 Redis 内部使用一个 redisObject 对象来表示所有的 key 和 value。 redisObject 最主要的信息如上图所示:type 表示一个 value 对象具体是何种数据类型,encoding 是不同...

安屿SH
昨天
164
0
是否有快速的Git命令来查看文件的旧版本? - Is there a quick Git command to see an old version of a file?

问题: Git中是否有命令可以查看(转储到stdout或$PAGER或$EDITOR )特定文件的特定版本? 解决方案: 参考一: https://stackoom.com/question/1Q2e/是否有快速的Git命令来查看文件的旧版本...

javail
昨天
117
0
t-io 出现:本次解码失败, 已经连续1次解码失败,参与解码的数据长度共157字节

tio.websocket.ssl.enabled=truetio.websocket.ssl.key-store=classpath:xxx.cn.pfxtio.websocket.ssl.password=xxxtio.websocket.ssl.trust-store=classpath:xxx.cn.pfx 是因为最后一......

-乐天-
昨天
75
0
android Camera 架构简介

目前需要做一个语音通话及视频聊天功能开发,主要分为音频及视频两个部分,必然会涉及到Camera及AudioFlinger部分,对于显示部分又会涉及到SurfaceFlinger部分,因此需要一步步的进行学习并确...

天王盖地虎626
昨天
96
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部