apache-ignite
200 строк · 6.0 Кб
1::
2:: Licensed to the Apache Software Foundation (ASF) under one or more
3:: contributor license agreements. See the NOTICE file distributed with
4:: this work for additional information regarding copyright ownership.
5:: The ASF licenses this file to You under the Apache License, Version 2.0
6:: (the "License"); you may not use this file except in compliance with
7:: the License. You may obtain a copy of the License at
8::
9:: http://www.apache.org/licenses/LICENSE-2.0
10::
11:: Unless required by applicable law or agreed to in writing, software
12:: distributed under the License is distributed on an "AS IS" BASIS,
13:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14:: See the License for the specific language governing permissions and
15:: limitations under the License.
16::
17::
18:: The utility for offline analysis index.bin and optionally partitions.
19::
20
21@echo off
22Setlocal EnableDelayedExpansion
23
24if "%OS%" == "Windows_NT" setlocal
25
26:: Check JAVA_HOME.
27if defined JAVA_HOME goto checkJdk
28echo %0, ERROR:
29echo JAVA_HOME environment variable is not found.
30echo Please point JAVA_HOME variable to location of JDK 1.8 or later.
31echo You can also download latest JDK at http://java.com/download.
32goto error_finish
33
34:checkJdk
35:: Check that JDK is where it should be.
36if exist "%JAVA_HOME%\bin\java.exe" goto checkJdkVersion
37echo %0, ERROR:
38echo JAVA is not found in JAVA_HOME=%JAVA_HOME%.
39echo Please point JAVA_HOME variable to installation of JDK 1.8 or later.
40echo You can also download latest JDK at http://java.com/download.
41goto error_finish
42
43:checkJdkVersion
44set cmd="%JAVA_HOME%\bin\java.exe"
45for /f "tokens=* USEBACKQ" %%f in (`%cmd% -version 2^>^&1`) do (
46set var=%%f
47goto :LoopEscape
48)
49:LoopEscape
50
51for /f "tokens=1-3 delims= " %%a in ("%var%") do set JAVA_VER_STR=%%c
52set JAVA_VER_STR=%JAVA_VER_STR:"=%
53
54for /f "tokens=1,2 delims=." %%a in ("%JAVA_VER_STR%.x") do set MAJOR_JAVA_VER=%%a& set MINOR_JAVA_VER=%%b
55if %MAJOR_JAVA_VER% == 1 set MAJOR_JAVA_VER=%MINOR_JAVA_VER%
56
57if %MAJOR_JAVA_VER% LSS 8 (
58echo %0, ERROR:
59echo The version of JAVA installed in %JAVA_HOME% is incorrect.
60echo Please point JAVA_HOME variable to installation of JDK 1.8 or later.
61echo You can also download latest JDK at http://java.com/download.
62goto error_finish
63)
64
65:: Check IGNITE_HOME.
66:checkIgniteHome1
67if defined IGNITE_HOME goto checkIgniteHome2
68pushd "%~dp0"/..
69set IGNITE_HOME=%CD%
70popd
71
72:checkIgniteHome2
73:: Strip double quotes from IGNITE_HOME
74set IGNITE_HOME=%IGNITE_HOME:"=%
75
76:: remove all trailing slashes from IGNITE_HOME.
77if %IGNITE_HOME:~-1,1% == \ goto removeTrailingSlash
78if %IGNITE_HOME:~-1,1% == / goto removeTrailingSlash
79goto checkIgniteHome3
80
81:removeTrailingSlash
82set IGNITE_HOME=%IGNITE_HOME:~0,-1%
83goto checkIgniteHome2
84
85:checkIgniteHome3
86if exist "%IGNITE_HOME%\config" goto checkIgniteHome4
87echo %0, ERROR: Ignite installation folder is not found or IGNITE_HOME environment variable is not valid.
88echo Please create IGNITE_HOME environment variable pointing to location of
89echo Ignite installation folder.
90goto error_finish
91
92:checkIgniteHome4
93
94::
95:: Set SCRIPTS_HOME - base path to scripts.
96::
97set SCRIPTS_HOME=%IGNITE_HOME%\bin
98
99:: Remove trailing spaces
100for /l %%a in (1,1,31) do if /i "%SCRIPTS_HOME:~-1%" == " " set SCRIPTS_HOME=%SCRIPTS_HOME:~0,-1%
101
102if /i "%SCRIPTS_HOME%\" == "%~dp0" goto setProgName
103echo %0, WARN: IGNITE_HOME environment variable may be pointing to wrong folder: %IGNITE_HOME%
104
105:setProgName
106::
107:: Set program name.
108::
109set PROG_NAME=ignite.bat
110if "%OS%" == "Windows_NT" set PROG_NAME=%~nx0%
111
112:run
113
114::
115:: Set IGNITE_LIBS
116::
117call "%SCRIPTS_HOME%\include\setenv.bat"
118call "%SCRIPTS_HOME%\include\build-classpath.bat"
119set CP=%IGNITE_LIBS%
120
121::
122:: Process 'restart'.
123::
124set RANDOM_NUMBER_COMMAND="!JAVA_HOME!\bin\java.exe" -cp %CP% org.apache.ignite.startup.cmdline.CommandLineRandomNumberGenerator
125for /f "usebackq tokens=*" %%i in (`!RANDOM_NUMBER_COMMAND!`) do set RANDOM_NUMBER=%%i
126
127set RESTART_SUCCESS_FILE="%IGNITE_HOME%\work\ignite_success_%RANDOM_NUMBER%"
128set RESTART_SUCCESS_OPT=-DIGNITE_SUCCESS_FILE=%RESTART_SUCCESS_FILE%
129
130::
131:: JVM options. See http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp for more details.
132::
133:: ADD YOUR/CHANGE ADDITIONAL OPTIONS HERE
134::
135"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr "1\.[7]\." > nul
136if %ERRORLEVEL% equ 0 (
137if "%CONTROL_JVM_OPTS%" == "" set CONTROL_JVM_OPTS=-Xms256m -Xmx1g
138) else (
139if "%CONTROL_JVM_OPTS%" == "" set CONTROL_JVM_OPTS=-Xms256m -Xmx1g
140)
141
142::
143:: Uncomment if you get StackOverflowError.
144:: On 64 bit systems this value can be larger, e.g. -Xss16m
145::
146:: set CONTROL_JVM_OPTS=%CONTROL_JVM_OPTS% -Xss4m
147
148::
149:: Assertions are disabled by default since version 3.5.
150:: If you want to enable them - set 'ENABLE_ASSERTIONS' flag to '1'.
151::
152set ENABLE_ASSERTIONS=1
153
154::
155:: Set '-ea' options if assertions are enabled.
156::
157if %ENABLE_ASSERTIONS% == 1 set CONTROL_JVM_OPTS=%CONTROL_JVM_OPTS% -ea
158
159:run_java
160
161::
162:: Set main class to start service (grid node by default).
163::
164
165if "%MAIN_CLASS%" == "" set MAIN_CLASS=org.apache.ignite.internal.commandline.indexreader.IgniteIndexReader
166
167::
168:: Final CONTROL_JVM_OPTS for Java 9+ compatibility
169::
170call "%SCRIPTS_HOME%\include\jvmdefaults.bat" %MAJOR_JAVA_VER% "%CONTROL_JVM_OPTS%" CONTROL_JVM_OPTS
171
172if defined JVM_OPTS (
173echo JVM_OPTS environment variable is set, but will not be used. To pass JVM options use CONTROL_JVM_OPTS
174echo JVM_OPTS=%JVM_OPTS%
175)
176
177"%JAVA_HOME%\bin\java.exe" %CONTROL_JVM_OPTS% %QUIET% %RESTART_SUCCESS_OPT% ^
178-DIGNITE_UPDATE_NOTIFIER=false -DIGNITE_HOME="%IGNITE_HOME%" -DIGNITE_PROG_NAME="%PROG_NAME%" %JVM_XOPTS% ^
179-cp "%CP%" %MAIN_CLASS% %*
180
181set JAVA_ERRORLEVEL=%ERRORLEVEL%
182
183:: errorlevel 130 if aborted with Ctrl+c
184if %JAVA_ERRORLEVEL%==130 goto finish
185
186:: Exit if first run unsuccessful (Loader must create file).
187if not exist %RESTART_SUCCESS_FILE% goto error_finish
188del %RESTART_SUCCESS_FILE%
189
190goto run_java
191
192:finish
193if not exist %RESTART_SUCCESS_FILE% goto error_finish
194del %RESTART_SUCCESS_FILE%
195
196:error_finish
197
198if not "%NO_PAUSE%" == "1" pause
199
200goto :eof
201