今天需要執行一個自動關閉、啟動JBoss的功能,就想使用JBoss的shutdown.bat執行文件,但是不管用。就查了一下,可以使用以下命令來關閉:shutdown.bat -s 127.0.0.1 --exit=0 (127.0.0.1是指JBoss部署的機器),就寫了一個cmd文件來執行,可是一執行,報錯了,看了一下,好像是端口不對,1099端口被修改了,於是找了一下1099被修改為多少了。
以下為JBoss各端口的修改地方:
JBoss通常占用的端口是1098,1099,4444,4445,8080,8009,8083,8093這幾個,
默認端口是8080
在Windows系統中:
1098、1099、4444、4445、8083端口在\JBoss\server\default\conf\JBoss-service.XML中
8080端口在\JBoss\server\default\deploy\JBoss-web.deployer\server.XML中
8093端口在\JBoss\server\default\deploy\jms\uil2-service.XML中。
找到以後,發現被修改為11099,於是就把關閉文件寫成shutdown.bat -s 127.0.0.1:11099 --exit=0 ,在一執行就沒有問題了。
但是這個命令也可以用來關閉遠程的JBoss服務,解決的辦法是,刪除\JBoss\server\default\deploy\jmx-invoker-service.XML,不對外提供這個服務。就可以啦!
還有一點,就是當JBoss死掉以後,就不能使用這個命令來關閉了,因為他找不到1099端口,可以使用另一個方法來解決:
taskkill /IM Java.exe /F
taskkill /IM cmd.exe /F
強行關閉Java和cmd進程。如果你使用的是JBoss服務就不會出現這種問題了。