undertow下重启项目时http的端口没有关闭,是什么原因?


[root@VM_0_15_centos dtam]# ./run.sh restart

[root@VM_0_15_centos dtam]# Starting JFinal 4.2 -> http://0.0.0.0:8003, https://0.0.0.0:8002

Info: jfinal-undertow 1.6, undertow 2.0.19.Final, jvm 1.8.0_221

java.lang.IllegalStateException: port: 8003 not available!


at com.jfinal.server.undertow.UndertowServer.doStart(UndertowServer.java:255)

at com.jfinal.server.undertow.UndertowServer.start(UndertowServer.java:159)

at common.MainConfig.main(MainConfig.java:33)



需要手动杀死8003端口才可以。

评论区

JFinal

2020-02-03 18:45

没真正重启成功

注意一下官方启动脚本里头有一个注释说明,讲到了 kill 指令的 -9 这个参数,如果出于什么原因无法停止项目,可以加上这个参数

nbjgl

2020-02-03 20:16

我知道是没有重启成功,但是原因是什么呢?每次都是这样的。

JFinal

2020-02-03 20:29

很可能是你有线程是 "非守护线程",JVM 无法退出

检查你项目中启动的线程是不是设置了 setDaemon(true)

热门反馈

扫码入社