Closed zhangqunshi closed 6 years ago
应该是执行器端口被占用,可以确认下对应端口占用情况。然后重新部署,启动执行器啊!
个人感觉这个端口占用,是由于之前部署的程序没有能够正常停止。所以需要先查查如何在重新部署war的时候正确停止jetty.
执行器Bean销毁的时候,主动destory了jetty服务,但是还是偶尔出现无法销毁的情况,头大!
JettyServer的方法好像有点问题。start加个同步。destroy方法里面server.destroy改成server.stop()
非常感谢 “@dxjaccp ”,这个问题已经修复啦!确实是因为JettyServer的destory逻辑存在瑕疵,master分支已经修复可以参考(com.xxl.job.core.rpc.netcom.jetty.server.JettyServer#destroy)进行修改,也可以直接pull下来master分支体验。
@dxjaccp 你好,你所说的 “start加个同步” 应该怎么理解呢 :)
at com.xxl.job.core.rpc.netcom.jetty.server.JettyServer$1.run(JettyServer.java:43); 重新部署时,jetty 好像依旧不能正常启动,端口占用。第一次部署不报这个错
@husthang jetty会占用通讯端口,在停止执行器时需要一同销毁。比如在调用 Tomcat 的shutdown脚本,将会自动释放相关端口。
直接使用新的war覆盖老的war包时出现下面错误日志。同时tomcat也无法正常停止,需要手动kill。