簡體   English   中英

如何使用將暫停執行直到域啟動的批處理文件在 Windows 中啟動 Glassfish 服務?

[英]How to start Glassfish service in Windows using batch file that will pause execution untill domain is started?

此時我正在使用下面的命令作為我的批處理腳本的一部分來引導 domain1:

asadmin 起始域 domain1

但是我最近將 domain1 作為服務安裝,所以現在當我使用這個命令時,域是在我的用戶進程下啟動的,而不是作為服務啟動。 所以在我注銷后,域就消失了。 我用了:

凈啟動域1

sc 起始域 1

然而,一旦信號[或其他任何東西]被派往服務,這兩個似乎都會返回,並且它們不會等到域1實際啟動。 “asadmin start-domain”在啟動域后確實返回了...

我必須在我的腳本中等待,在域啟動后不久我將取消部署/部署新應用程序。 那么有沒有辦法使用批處理命令將 Glassfish 作為服務啟動並等待它啟動?

安裝:

sc create ServiveName binpath= <PATH_TO_SERVICE>.exe
net start ServiveName 
PAUSE

開始:

net start ServiceName
PAUSE

停止:

net stop ServiceName
PAUSE

卸載:

net stop ServiceName
sc delete ServiceName
PAUSE

我正在使用的解決方案之一:

@echo off
SETLOCAL enableextensions enabledelayedexpansion
set GLASSFISH_HOME=c:\glassfish
set DOMAIN=domain1
net start %DOMAIN%
:loop
call timeout /t 1 /NOBREAK > NUL
echo Still waiting for domain to start
for /f "tokens=1,2 delims= " %%A IN ( '"%GLASSFISH_HOME%\bin\asadmin.bat" list-domains' ) DO IF "%%A"=="%DOMAIN%" SET GLASSFISH_RUNNING=%%B
if not "%GLASSFISH_RUNNING%"=="running" (
    goto loop
)

為了更好的理解,我稍微修改了上面的版本:

    @echo off
SETLOCAL enableextensions enabledelayedexpansion
set GLASSFISH_HOME=D:\glassfish
set DOMAIN=domainName
set SERVICE_NAME="name of your service"
net start %SERVICE_NAME%
:loop
call timeout /t 1 /NOBREAK > NUL
echo Still waiting for domain to start
for /f "tokens=1,2 delims= " %%A IN ( '"%GLASSFISH_HOME%\bin\asadmin.bat" list-domains' ) DO IF "%%A"=="%DOMAIN%" SET GLASSFISH_RUNNING=%%B
if not "%GLASSFISH_RUNNING%"=="running" (
    goto loop
)

一些應用程序已經提供了自動創建 Windows 服務的可能性。 但是,每個 .exe 都可以通過這種方式進行配置。

圖形用戶界面: http : //www.sevenforums.com/tutorials/2495-services-start-disable.html
控制台: https : //support.microsoft.com/de-de/kb/137890
登錄前自動啟動: https : //serverfault.com/questions/227862/run-a-program-without-user-being-logged-on

在記事本中輸入以下代碼並保存 [name].bat(對於 Windows)

cd C:\\glassfish3\\glassfish3\\bin asadmin start-domain PAUSE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM