From 42a393188e32a3b7d5704e6f6f9b146f5459ab96 Mon Sep 17 00:00:00 2001 From: Zhanhui Li Date: Fri, 3 Mar 2017 16:51:09 +0800 Subject: [PATCH] Fix Windows script to handle return code properly --- bin/mqadmin.cmd | 6 ++---- bin/mqbroker.cmd | 6 ++++-- bin/mqfiltersrv.cmd | 6 ++++-- bin/mqnamesrv.cmd | 6 ++++-- bin/mqshutdown.cmd | 6 ++---- bin/play.cmd | 15 +++++++++++++-- bin/runbroker.cmd | 10 ++++------ bin/runserver.cmd | 10 ++++------ bin/tools.cmd | 6 ++---- 9 files changed, 39 insertions(+), 32 deletions(-) diff --git a/bin/mqadmin.cmd b/bin/mqadmin.cmd index 9fee2d33..4e061f0e 100644 --- a/bin/mqadmin.cmd +++ b/bin/mqadmin.cmd @@ -14,7 +14,5 @@ rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. rem See the License for the specific language governing permissions and rem limitations under the License. -if not exist "%ROCKETMQ_HOME%\bin\tools.cmd" echo Please set the ROCKETMQ_HOME variable in your environment! & goto end -call "%ROCKETMQ_HOME%\bin\tools.cmd" org.apache.rocketmq.tools.command.MQAdminStartup %* - -:end \ No newline at end of file +if not exist "%ROCKETMQ_HOME%\bin\tools.cmd" echo Please set the ROCKETMQ_HOME variable in your environment! & EXIT /B 1 +call "%ROCKETMQ_HOME%\bin\tools.cmd" org.apache.rocketmq.tools.command.MQAdminStartup %* \ No newline at end of file diff --git a/bin/mqbroker.cmd b/bin/mqbroker.cmd index d34a354e..3efb4757 100644 --- a/bin/mqbroker.cmd +++ b/bin/mqbroker.cmd @@ -14,8 +14,10 @@ rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. rem See the License for the specific language governing permissions and rem limitations under the License. -if not exist "%ROCKETMQ_HOME%\bin\runbroker.cmd" echo Please set the ROCKETMQ_HOME variable in your environment! & goto end +if not exist "%ROCKETMQ_HOME%\bin\runbroker.cmd" echo Please set the ROCKETMQ_HOME variable in your environment! & EXIT /B 1 call "%ROCKETMQ_HOME%\bin\runbroker.cmd" org.apache.rocketmq.broker.BrokerStartup %* -:end \ No newline at end of file +IF %ERRORLEVEL% EQU 0 ( + ECHO "Broker starts OK" +) \ No newline at end of file diff --git a/bin/mqfiltersrv.cmd b/bin/mqfiltersrv.cmd index a56657d9..0503026a 100644 --- a/bin/mqfiltersrv.cmd +++ b/bin/mqfiltersrv.cmd @@ -14,8 +14,10 @@ rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. rem See the License for the specific language governing permissions and rem limitations under the License. -if not exist "%ROCKETMQ_HOME%\bin\runbroker.cmd" echo Please set the ROCKETMQ_HOME variable in your environment! & goto end +if not exist "%ROCKETMQ_HOME%\bin\runbroker.cmd" echo Please set the ROCKETMQ_HOME variable in your environment! & EXIT /B 1 call "%ROCKETMQ_HOME%\bin\runserver.cmd" org.apache.rocketmq.filtersrv.FiltersrvStartup %* -:end \ No newline at end of file +IF %ERRORLEVEL% EQU 0 ( + ECHO "Filtersrv starts OK" +) \ No newline at end of file diff --git a/bin/mqnamesrv.cmd b/bin/mqnamesrv.cmd index 5156378b..2828bdc2 100644 --- a/bin/mqnamesrv.cmd +++ b/bin/mqnamesrv.cmd @@ -14,8 +14,10 @@ rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. rem See the License for the specific language governing permissions and rem limitations under the License. -if not exist "%ROCKETMQ_HOME%\bin\runserver.cmd" echo Please set the ROCKETMQ_HOME variable in your environment! & goto end +if not exist "%ROCKETMQ_HOME%\bin\runserver.cmd" echo Please set the ROCKETMQ_HOME variable in your environment! & EXIT /B 1 call "%ROCKETMQ_HOME%\bin\runserver.cmd" org.apache.rocketmq.namesrv.NamesrvStartup %* -:end \ No newline at end of file +IF %ERRORLEVEL% EQU 0 ( + ECHO "Namesrv starts OK" +) \ No newline at end of file diff --git a/bin/mqshutdown.cmd b/bin/mqshutdown.cmd index 47317d8c..50af026f 100644 --- a/bin/mqshutdown.cmd +++ b/bin/mqshutdown.cmd @@ -14,7 +14,7 @@ rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. rem See the License for the specific language governing permissions and rem limitations under the License. -if not exist "%JAVA_HOME%\bin\jps.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! & goto end +if not exist "%JAVA_HOME%\bin\jps.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! & EXIT /B 1 setlocal @@ -32,6 +32,4 @@ if /I "%1" == "broker" ( echo Done! ) else ( echo Unknown role to kill, please specify broker or namesrv -) - -:end \ No newline at end of file +) \ No newline at end of file diff --git a/bin/play.cmd b/bin/play.cmd index 545864af..f1737d57 100644 --- a/bin/play.cmd +++ b/bin/play.cmd @@ -14,6 +14,17 @@ rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. rem See the License for the specific language governing permissions and rem limitations under the License. -START /B mqnamesrv > ns.log -START /B mqbroker -n localhost:9876 > bk.log +START /B mqnamesrv > ns.log 2>&1 +IF %ERRORLEVEL% NEQ 0 ( + echo "Failed to start name server. Please check ns.log" + EXIT /B 1 +) + +START /B mqbroker -n localhost:9876 > bk.log 2>&1 + +IF %ERRORLEVEL% NEQ 0 ( + ECHO "Failed to start broker. Please check bk.log" + EXIT /B 1 +) + echo "Start Name Server and Broker Successfully." \ No newline at end of file diff --git a/bin/runbroker.cmd b/bin/runbroker.cmd index d18d47b8..033d8225 100644 --- a/bin/runbroker.cmd +++ b/bin/runbroker.cmd @@ -14,7 +14,7 @@ rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. rem See the License for the specific language governing permissions and rem limitations under the License. -if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! & goto end +if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! & EXIT /B 1 set "JAVA=%JAVA_HOME%\bin\java.exe" setlocal @@ -28,9 +28,9 @@ set CLASSPATH=.;%BASE_DIR%conf;%CLASSPATH% rem =========================================================================================== rem JVM Configuration rem =========================================================================================== -set "JAVA_OPT=%JAVA_OPT% -server -Xms8g -Xmx8g -Xmn4g" +set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g" set "JAVA_OPT=%JAVA_OPT% -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:SurvivorRatio=8 -XX:+DisableExplicitGC" -set "JAVA_OPT=%JAVA_OPT% -verbose:gc -Xloggc:%HOMEPATH%\mq_gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintAdaptiveSizePolicy" +set "JAVA_OPT=%JAVA_OPT% -verbose:gc -Xloggc:%USERPROFILE%\mq_gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintAdaptiveSizePolicy" set "JAVA_OPT=%JAVA_OPT% -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m" set "JAVA_OPT=%JAVA_OPT% -XX:-OmitStackTraceInFastThrow" set "JAVA_OPT=%JAVA_OPT% -XX:+AlwaysPreTouch" @@ -39,6 +39,4 @@ set "JAVA_OPT=%JAVA_OPT% -XX:-UseLargePages -XX:-UseBiasedLocking" set "JAVA_OPT=%JAVA_OPT% -Djava.ext.dirs=%BASE_DIR%lib" set "JAVA_OPT=%JAVA_OPT% -cp %CLASSPATH%" -"%JAVA%" %JAVA_OPT% %* - -:end \ No newline at end of file +"%JAVA%" %JAVA_OPT% %* \ No newline at end of file diff --git a/bin/runserver.cmd b/bin/runserver.cmd index 2d561f24..e157d55f 100644 --- a/bin/runserver.cmd +++ b/bin/runserver.cmd @@ -15,7 +15,7 @@ rem See the License for the specific language governing permissions and rem limitations under the License. -if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! & goto end +if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! & EXIT /B 1 set "JAVA=%JAVA_HOME%\bin\java.exe" setlocal @@ -26,14 +26,12 @@ for %%d in (%BASE_DIR%) do set BASE_DIR=%%~dpd set CLASSPATH=.;%BASE_DIR%conf;%CLASSPATH% -set "JAVA_OPT=%JAVA_OPT% -server -Xms4g -Xmx4g -Xmn2g -XX:PermSize=128m -XX:MaxPermSize=320m" +set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g -XX:PermSize=128m -XX:MaxPermSize=320m" set "JAVA_OPT=%JAVA_OPT% -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:+DisableExplicitGC -XX:-UseParNewGC" -set "JAVA_OPT=%JAVA_OPT% -verbose:gc -Xloggc:"%HOMEPATH%\rmq_srv_gc.log" -XX:+PrintGCDetails" +set "JAVA_OPT=%JAVA_OPT% -verbose:gc -Xloggc:"%USERPROFILE%\rmq_srv_gc.log" -XX:+PrintGCDetails" set "JAVA_OPT=%JAVA_OPT% -XX:-OmitStackTraceInFastThrow" set "JAVA_OPT=%JAVA_OPT% -XX:-UseLargePages" set "JAVA_OPT=%JAVA_OPT% -Djava.ext.dirs=%BASE_DIR%lib" set "JAVA_OPT=%JAVA_OPT% -cp "%CLASSPATH%"" -"%JAVA%" %JAVA_OPT% %* - -:end \ No newline at end of file +"%JAVA%" %JAVA_OPT% %* \ No newline at end of file diff --git a/bin/tools.cmd b/bin/tools.cmd index daf60864..28ce7653 100644 --- a/bin/tools.cmd +++ b/bin/tools.cmd @@ -14,7 +14,7 @@ rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. rem See the License for the specific language governing permissions and rem limitations under the License. -if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! & goto end +if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! & EXIT /B 1 set "JAVA=%JAVA_HOME%\bin\java.exe" @@ -32,6 +32,4 @@ set "JAVA_OPT=%JAVA_OPT% -server -Xms1g -Xmx1g -Xmn256m -XX:PermSize=128m -XX:Ma set "JAVA_OPT=%JAVA_OPT% -Djava.ext.dirs="%BASE_DIR%\lib";"%JAVA_HOME%\jre\lib\ext"" set "JAVA_OPT=%JAVA_OPT% -cp "%CLASSPATH%"" -"%JAVA%" %JAVA_OPT% %* - -:end \ No newline at end of file +"%JAVA%" %JAVA_OPT% %* \ No newline at end of file -- GitLab