2018-07-21 00:27:23 +08:00
|
|
|
@echo off
|
2018-09-26 20:05:17 +08:00
|
|
|
rem Copyright 1999-2018 Alibaba Group Holding Ltd.
|
|
|
|
rem Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
rem you may not use this file except in compliance with the License.
|
|
|
|
rem You may obtain a copy of the License at
|
|
|
|
rem
|
|
|
|
rem http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
rem
|
|
|
|
rem Unless required by applicable law or agreed to in writing, software
|
|
|
|
rem distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
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.
|
2018-07-21 00:27:23 +08:00
|
|
|
if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! & EXIT /B 1
|
|
|
|
set "JAVA=%JAVA_HOME%\bin\java.exe"
|
|
|
|
|
2019-05-15 16:23:57 +08:00
|
|
|
setlocal enabledelayedexpansion
|
2018-07-21 00:27:23 +08:00
|
|
|
|
|
|
|
set BASE_DIR=%~dp0
|
2019-02-01 22:50:14 +08:00
|
|
|
rem added double quotation marks to avoid the issue caused by the folder names containing spaces.
|
|
|
|
rem removed the last 5 chars(which means \bin\) to get the base DIR.
|
|
|
|
set BASE_DIR="%BASE_DIR:~0,-5%"
|
2018-07-21 00:27:23 +08:00
|
|
|
|
2018-09-20 23:23:06 +08:00
|
|
|
set DEFAULT_SEARCH_LOCATIONS="classpath:/,classpath:/config/,file:./,file:./config/"
|
2020-10-20 20:11:50 +08:00
|
|
|
set CUSTOM_SEARCH_LOCATIONS=file:%BASE_DIR%/conf/,%DEFAULT_SEARCH_LOCATIONS%
|
2018-07-21 00:27:23 +08:00
|
|
|
|
2020-07-22 17:48:57 +08:00
|
|
|
set MODE="cluster"
|
2019-05-15 16:23:57 +08:00
|
|
|
set FUNCTION_MODE="all"
|
2019-10-21 16:35:56 +08:00
|
|
|
set SERVER=nacos-server
|
2019-05-15 16:23:57 +08:00
|
|
|
set MODE_INDEX=-1
|
|
|
|
set FUNCTION_MODE_INDEX=-1
|
2019-09-06 13:39:40 +08:00
|
|
|
set SERVER_INDEX=-1
|
2020-07-08 09:20:26 +08:00
|
|
|
set EMBEDDED_STORAGE_INDEX=-1
|
|
|
|
set EMBEDDED_STORAGE=""
|
2019-09-06 13:39:40 +08:00
|
|
|
|
2018-07-21 00:27:23 +08:00
|
|
|
|
2019-05-15 16:23:57 +08:00
|
|
|
set i=0
|
|
|
|
for %%a in (%*) do (
|
2020-07-22 17:48:57 +08:00
|
|
|
if "%%a" == "-m" ( set /a MODE_INDEX=!i!+1 )
|
|
|
|
if "%%a" == "-f" ( set /a FUNCTION_MODE_INDEX=!i!+1 )
|
|
|
|
if "%%a" == "-s" ( set /a SERVER_INDEX=!i!+1 )
|
|
|
|
if "%%a" == "-p" ( set /a EMBEDDED_STORAGE_INDEX=!i!+1 )
|
|
|
|
set /a i+=1
|
2019-05-15 16:23:57 +08:00
|
|
|
)
|
2018-07-21 00:27:23 +08:00
|
|
|
|
2019-05-15 16:23:57 +08:00
|
|
|
set i=0
|
|
|
|
for %%a in (%*) do (
|
2020-07-22 17:48:57 +08:00
|
|
|
if %MODE_INDEX% == !i! ( set MODE="%%a" )
|
|
|
|
if %FUNCTION_MODE_INDEX% == !i! ( set FUNCTION_MODE="%%a" )
|
|
|
|
if %SERVER_INDEX% == !i! (set SERVER="%%a")
|
|
|
|
if %EMBEDDED_STORAGE_INDEX% == !i! (set EMBEDDED_STORAGE="%%a")
|
|
|
|
set /a i+=1
|
2019-05-15 16:23:57 +08:00
|
|
|
)
|
|
|
|
|
2020-07-22 17:48:57 +08:00
|
|
|
rem if nacos startup mode is standalone
|
2019-05-15 16:23:57 +08:00
|
|
|
if %MODE% == "standalone" (
|
2020-07-22 17:48:57 +08:00
|
|
|
echo "nacos is starting with standalone"
|
|
|
|
set "NACOS_OPTS=-Dnacos.standalone=true"
|
|
|
|
set "NACOS_JVM_OPTS=-Xms512m -Xmx512m -Xmn256m"
|
2019-05-15 16:23:57 +08:00
|
|
|
)
|
|
|
|
|
2020-07-22 17:48:57 +08:00
|
|
|
rem if nacos startup mode is cluster
|
|
|
|
if %MODE% == "cluster" (
|
|
|
|
echo "nacos is starting with cluster"
|
|
|
|
if %EMBEDDED_STORAGE% == "embedded" (
|
|
|
|
set "NACOS_OPTS=-DembeddedStorage=true"
|
|
|
|
)
|
|
|
|
|
|
|
|
set "NACOS_JVM_OPTS=-server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%BASE_DIR%\logs\java_heapdump.hprof -XX:-UseLargePages"
|
|
|
|
)
|
|
|
|
|
|
|
|
rem set nacos's functionMode
|
2019-05-15 16:23:57 +08:00
|
|
|
if %FUNCTION_MODE% == "config" (
|
2020-07-22 17:48:57 +08:00
|
|
|
set "NACOS_OPTS=%NACOS_OPTS% -Dnacos.functionMode=config"
|
2019-05-15 16:23:57 +08:00
|
|
|
)
|
2020-07-22 17:48:57 +08:00
|
|
|
|
2019-05-15 16:23:57 +08:00
|
|
|
if %FUNCTION_MODE% == "naming" (
|
2020-07-22 17:48:57 +08:00
|
|
|
set "NACOS_OPTS=%NACOS_OPTS% -Dnacos.functionMode=naming"
|
2019-05-15 16:23:57 +08:00
|
|
|
)
|
|
|
|
|
2020-07-22 17:48:57 +08:00
|
|
|
rem set nacos options
|
|
|
|
set "NACOS_OPTS=%NACOS_OPTS% -Dloader.path=%BASE_DIR%/plugins/health,%BASE_DIR%/plugins/cmdb"
|
|
|
|
set "NACOS_OPTS=%NACOS_OPTS% -Dnacos.home=%BASE_DIR%"
|
|
|
|
set "NACOS_OPTS=%NACOS_OPTS% -jar %BASE_DIR%\target\%SERVER%.jar"
|
|
|
|
|
|
|
|
rem set nacos spring config location
|
|
|
|
set "NACOS_CONFIG_OPTS=--spring.config.location=%CUSTOM_SEARCH_LOCATIONS%"
|
|
|
|
|
|
|
|
rem set nacos log4j file location
|
|
|
|
set "NACOS_LOG4J_OPTS=--logging.config=%BASE_DIR%/conf/nacos-logback.xml"
|
|
|
|
|
2018-11-16 14:22:12 +08:00
|
|
|
|
2020-07-22 17:48:57 +08:00
|
|
|
set COMMAND="%JAVA%" %NACOS_JVM_OPTS% %NACOS_OPTS% %NACOS_CONFIG_OPTS% %NACOS_LOG4J_OPTS% nacos.nacos %*
|
2018-07-21 00:27:23 +08:00
|
|
|
|
2020-07-22 17:48:57 +08:00
|
|
|
rem start nacos command
|
2020-10-20 20:11:50 +08:00
|
|
|
%COMMAND%
|