alibaba / TProfiler

TProfiler是一个可以在生产环境长期使用的性能分析工具
GNU General Public License v2.0
2.38k stars 923 forks source link

tomca停止shutdown.sh报Address already in use #10

Closed dengqiao closed 11 years ago

dengqiao commented 11 years ago

tomca停止shutdown.sh报Address already in use异常, 异常代码为socket = new ServerSocket(Manager.PORT);我觉得应该这这里判断一下线程是否已经启动。

默认下载的代码的dist目录jar不是源代码编译的版本,直接使用这个jar会造成tomca停止shutdown.sh时无法退出,源代码中此问题已修复。

还有1个疑问是socket = new ServerSocket(Manager.PORT);这里的端口号不是配置的,如果我1台物理机上面有多个java实例,只有第一个能够启动远程操作吧,因为端口号已经被占用,不过这个问题还没有实际验证

jlusdy commented 11 years ago

非常感谢 @dengqiao 同学提出这些问题,最近比较忙,周末一并修复

jlusdy commented 11 years ago

@dengqiao 你提到的第一个问题,是Tomcat的关闭机制导致的。关闭tomcat时,会启动另一个tomcat进程来远程Close当前进程,所以会报Address already in use。 解决办法是:TProfiler的配置加在启动脚本里,不要加在通用的地方,不然shutdown.sh执行时也会加载TProfiler,端口就冲突了