JBoss EAP 6.2 运行 作为 Window 服务与 prunsrv - 无法停止服务
JBoss EAP 6.2 running as Window Service with prunsrv - Can't stop service
我正在尝试获取 JBoss EAP 6.2 运行 作为 Windows 服务器(64 位)上的 window 服务。我用 prunsrv 定义服务如下:
prunsrv install "JBoss EAP" --DisplayName="JBoss EAP" --LogLevel=DEBUG --LogPath=d:\Java\jboss-eap-6.2\domain\log\ --LogPrefix=service --StdOutput=auto --StdError=auto --StopTimeout=10 --StartMode=exe --StartImage=cmd.exe --StartPath=d:\Java\jboss-eap-6.2\bin ++StartParams="/c;domain.bat" --StopMode=exe --StopImage=cmd.exe --StopPath=d:\Java\jboss-eap-6.2\bin ++StopParams="/c;jboss-cli.bat;--controller=192.168.50.3:8888;--connect;command=/host=master:shutdown"
并且我更改了该服务的登录用户,以便它在属于 Administrators 组的帐户下运行。
我可以正常启动服务,但无法正常停止。 "properly" 我的意思是当我停止服务时,我看到服务控制对话框显示:
"Windows is attempting to stop the following service on the local computer"
查看 JBoss 日志文件,我可以看到 JBoss 正常关闭,使用任务管理器我可以看到所有 Java.exe 进程都消失了。但是,服务控制对话框不会关闭 'normally'。它最终超时,我得到另一个对话框 "Error 1053: The service did not respond to the start or control request in a timely mannger",任务管理器显示 prunsrv.exe 仍然是 运行。然后服务挂起,处于 "Stopping" 状态,我必须使用 TaskKill 终止任务并将服务重置为可以重新启动它的状态。
当我查看 service.*.log 文件时,我看到以下内容:
[2015-09-11 11:42:55] [debug] ( prunsrv.c:844 ) [25200] reportServiceStatusE: 4, 0, 0, 0
[2015-09-11 11:42:57] [debug] ( prunsrv.c:844 ) [25200] reportServiceStatusE: 4, 0, 0, 0
[2015-09-11 11:42:57] [debug] ( prunsrv.c:844 ) [25200] reportServiceStatusE: 3, 0, 3000, 0
[2015-09-11 11:42:57] [info] ( prunsrv.c:943 ) [10984] Stopping service...
[2015-09-11 11:42:57] [debug] ( prunsrv.c:1057) [10984] Waiting for stop worker to finish...
几天来我一直在努力弄清楚问题出在哪里,但我碰壁了,我没有主意了。到目前为止, LogLevel=DEBUG 还没有阐明这个问题,所以我正在寻找可以帮助我调试它的想法。谁能给我一个建议?
谢谢
事实证明,问题出在我使用的启动命令上。启动命令的前面需要一个"set NOPAUSE=Y"。例如
++StartParams="/c;set;NOPAUSE=Y;&&;domain.bat"
一旦我添加了它,它就成功了。
我正在尝试获取 JBoss EAP 6.2 运行 作为 Windows 服务器(64 位)上的 window 服务。我用 prunsrv 定义服务如下:
prunsrv install "JBoss EAP" --DisplayName="JBoss EAP" --LogLevel=DEBUG --LogPath=d:\Java\jboss-eap-6.2\domain\log\ --LogPrefix=service --StdOutput=auto --StdError=auto --StopTimeout=10 --StartMode=exe --StartImage=cmd.exe --StartPath=d:\Java\jboss-eap-6.2\bin ++StartParams="/c;domain.bat" --StopMode=exe --StopImage=cmd.exe --StopPath=d:\Java\jboss-eap-6.2\bin ++StopParams="/c;jboss-cli.bat;--controller=192.168.50.3:8888;--connect;command=/host=master:shutdown"
并且我更改了该服务的登录用户,以便它在属于 Administrators 组的帐户下运行。
我可以正常启动服务,但无法正常停止。 "properly" 我的意思是当我停止服务时,我看到服务控制对话框显示:
"Windows is attempting to stop the following service on the local computer"
查看 JBoss 日志文件,我可以看到 JBoss 正常关闭,使用任务管理器我可以看到所有 Java.exe 进程都消失了。但是,服务控制对话框不会关闭 'normally'。它最终超时,我得到另一个对话框 "Error 1053: The service did not respond to the start or control request in a timely mannger",任务管理器显示 prunsrv.exe 仍然是 运行。然后服务挂起,处于 "Stopping" 状态,我必须使用 TaskKill 终止任务并将服务重置为可以重新启动它的状态。
当我查看 service.*.log 文件时,我看到以下内容:
[2015-09-11 11:42:55] [debug] ( prunsrv.c:844 ) [25200] reportServiceStatusE: 4, 0, 0, 0
[2015-09-11 11:42:57] [debug] ( prunsrv.c:844 ) [25200] reportServiceStatusE: 4, 0, 0, 0
[2015-09-11 11:42:57] [debug] ( prunsrv.c:844 ) [25200] reportServiceStatusE: 3, 0, 3000, 0
[2015-09-11 11:42:57] [info] ( prunsrv.c:943 ) [10984] Stopping service...
[2015-09-11 11:42:57] [debug] ( prunsrv.c:1057) [10984] Waiting for stop worker to finish...
几天来我一直在努力弄清楚问题出在哪里,但我碰壁了,我没有主意了。到目前为止, LogLevel=DEBUG 还没有阐明这个问题,所以我正在寻找可以帮助我调试它的想法。谁能给我一个建议?
谢谢
事实证明,问题出在我使用的启动命令上。启动命令的前面需要一个"set NOPAUSE=Y"。例如
++StartParams="/c;set;NOPAUSE=Y;&&;domain.bat"
一旦我添加了它,它就成功了。