控制台啟動 WebLogic 後,直接 Ctrl+C 或關閉窗口會導致數據不一致、事務未提交、鎖文件殘留。需調用管理 API 發起正常關閉流程。
REM stopWeblogic.cmd
set JAVA_HOME=D:\bea\jdk141_05
set PLATFORMHOME=D:\bea\weblogic81
set ADMIN_URL="t3://localhost:80"
set ARGUMENTS=weblogic.Admin SHUTDOWN -url %ADMIN_URL% -username weblogic -password weblogic
set CLASSPATH=%PLATFORMHOME%\server\lib\weblogic.jar
"%JAVA_HOME%\bin\java.exe" -cp "%CLASSPATH%" %ARGUMENTS%
隱患: 用戶名/密碼明文存儲,違反安全合規。
REM stopWeblogic.cmd 安全版
set JAVA_HOME=D:\bea\jdk141_05
set PLATFORMHOME=D:\bea\weblogic81
set ADMIN_URL="t3://localhost:80"
set DOMAINPATH=D:\bea\user_projects\domains\mydomain
set ARGUMENTS=weblogic.Admin SHUTDOWN -url %ADMIN_URL%
set ARGUMENTS=-Dweblogic.system.BootIdentityFile=%DOMAINPATH%\boot.properties -Dweblogic.RootDirectory=%DOMAINPATH% %ARGUMENTS%
set CLASSPATH=%PLATFORMHOME%\server\lib\weblogic.jar
"%JAVA_HOME%\bin\java.exe" -cp "%CLASSPATH%" %ARGUMENTS%
boot.properties:域創建時自動生成,包含加密的 username/password({AES}xxx 格式)。-Dweblogic.system.BootIdentityFile:指定身份文件路徑,weblogic.Admin 工具讀取並解密認證,無需命令行傳遞明文。-Dweblogic.RootDirectory:指定域根目錄,確保相對路徑解析正確。將 SHUTDOWN 改為 FORCESHUTDOWN 可跳過優雅等待,直接終止進程,僅用於緊急故障恢復。
bin 下,權限 700(僅管理員可讀寫執行)。