You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
191 lines
5.2 KiB
191 lines
5.2 KiB
@echo off |
|
rem Licensed to the Apache Software Foundation (ASF) under one or more |
|
rem contributor license agreements. See the NOTICE file distributed with |
|
rem this work for additional information regarding copyright ownership. |
|
rem The ASF licenses this file to You under the Apache License, Version 2.0 |
|
rem (the "License"); you may not use this file except in compliance with |
|
rem the License. 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. |
|
|
|
setlocal enabledelayedexpansion |
|
|
|
IF [%1] EQU [] ( |
|
echo USAGE: %0 classname [opts] |
|
EXIT /B 1 |
|
) |
|
|
|
rem Using pushd popd to set BASE_DIR to the absolute path |
|
pushd %~dp0..\.. |
|
set BASE_DIR=%CD% |
|
popd |
|
|
|
IF ["%SCALA_VERSION%"] EQU [""] ( |
|
set SCALA_VERSION=2.11.12 |
|
) |
|
|
|
IF ["%SCALA_BINARY_VERSION%"] EQU [""] ( |
|
for /f "tokens=1,2 delims=." %%a in ("%SCALA_VERSION%") do ( |
|
set FIRST=%%a |
|
set SECOND=%%b |
|
if ["!SECOND!"] EQU [""] ( |
|
set SCALA_BINARY_VERSION=!FIRST! |
|
) else ( |
|
set SCALA_BINARY_VERSION=!FIRST!.!SECOND! |
|
) |
|
) |
|
) |
|
|
|
rem Classpath addition for kafka-core dependencies |
|
for %%i in ("%BASE_DIR%\core\build\dependant-libs-%SCALA_VERSION%\*.jar") do ( |
|
call :concat "%%i" |
|
) |
|
|
|
rem Classpath addition for kafka-examples |
|
for %%i in ("%BASE_DIR%\examples\build\libs\kafka-examples*.jar") do ( |
|
call :concat "%%i" |
|
) |
|
|
|
rem Classpath addition for kafka-clients |
|
for %%i in ("%BASE_DIR%\clients\build\libs\kafka-clients*.jar") do ( |
|
call :concat "%%i" |
|
) |
|
|
|
rem Classpath addition for kafka-streams |
|
for %%i in ("%BASE_DIR%\streams\build\libs\kafka-streams*.jar") do ( |
|
call :concat "%%i" |
|
) |
|
|
|
rem Classpath addition for kafka-streams-examples |
|
for %%i in ("%BASE_DIR%\streams\examples\build\libs\kafka-streams-examples*.jar") do ( |
|
call :concat "%%i" |
|
) |
|
|
|
for %%i in ("%BASE_DIR%\streams\build\dependant-libs-%SCALA_VERSION%\rocksdb*.jar") do ( |
|
call :concat "%%i" |
|
) |
|
|
|
rem Classpath addition for kafka tools |
|
for %%i in ("%BASE_DIR%\tools\build\libs\kafka-tools*.jar") do ( |
|
call :concat "%%i" |
|
) |
|
|
|
for %%i in ("%BASE_DIR%\tools\build\dependant-libs-%SCALA_VERSION%\*.jar") do ( |
|
call :concat "%%i" |
|
) |
|
|
|
for %%p in (api runtime file json tools) do ( |
|
for %%i in ("%BASE_DIR%\connect\%%p\build\libs\connect-%%p*.jar") do ( |
|
call :concat "%%i" |
|
) |
|
if exist "%BASE_DIR%\connect\%%p\build\dependant-libs\*" ( |
|
call :concat "%BASE_DIR%\connect\%%p\build\dependant-libs\*" |
|
) |
|
) |
|
|
|
rem Classpath addition for release |
|
for %%i in ("%BASE_DIR%\libs\*") do ( |
|
call :concat "%%i" |
|
) |
|
|
|
rem Classpath addition for core |
|
for %%i in ("%BASE_DIR%\core\build\libs\kafka_%SCALA_BINARY_VERSION%*.jar") do ( |
|
call :concat "%%i" |
|
) |
|
|
|
rem JMX settings |
|
IF ["%KAFKA_JMX_OPTS%"] EQU [""] ( |
|
set KAFKA_JMX_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false |
|
) |
|
|
|
rem JMX port to use |
|
IF ["%JMX_PORT%"] NEQ [""] ( |
|
set KAFKA_JMX_OPTS=%KAFKA_JMX_OPTS% -Dcom.sun.management.jmxremote.port=%JMX_PORT% |
|
) |
|
|
|
rem Log directory to use |
|
IF ["%LOG_DIR%"] EQU [""] ( |
|
set LOG_DIR="%BASE_DIR~%/logs" |
|
) |
|
|
|
rem Log4j settings |
|
IF ["%KAFKA_LOG4J_OPTS%"] EQU [""] ( |
|
set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%BASE_DIR%/config/tools-log4j.properties |
|
) ELSE ( |
|
rem create logs directory |
|
IF not exist "%LOG_DIR%" ( |
|
mkdir "%LOG_DIR%" |
|
) |
|
) |
|
|
|
set KAFKA_LOG4J_OPTS=-Dkafka.logs.dir="%LOG_DIR%" "%KAFKA_LOG4J_OPTS%" |
|
|
|
rem Generic jvm settings you want to add |
|
IF ["%KAFKA_OPTS%"] EQU [""] ( |
|
set KAFKA_OPTS= |
|
) |
|
|
|
set DEFAULT_JAVA_DEBUG_PORT=5005 |
|
set DEFAULT_DEBUG_SUSPEND_FLAG=n |
|
rem Set Debug options if enabled |
|
IF ["%KAFKA_DEBUG%"] NEQ [""] ( |
|
|
|
|
|
IF ["%JAVA_DEBUG_PORT%"] EQU [""] ( |
|
set JAVA_DEBUG_PORT=%DEFAULT_JAVA_DEBUG_PORT% |
|
) |
|
|
|
IF ["%DEBUG_SUSPEND_FLAG%"] EQU [""] ( |
|
set DEBUG_SUSPEND_FLAG=%DEFAULT_DEBUG_SUSPEND_FLAG% |
|
) |
|
set DEFAULT_JAVA_DEBUG_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=!DEBUG_SUSPEND_FLAG!,address=!JAVA_DEBUG_PORT! |
|
|
|
IF ["%JAVA_DEBUG_OPTS%"] EQU [""] ( |
|
set JAVA_DEBUG_OPTS=!DEFAULT_JAVA_DEBUG_OPTS! |
|
) |
|
|
|
echo Enabling Java debug options: !JAVA_DEBUG_OPTS! |
|
set KAFKA_OPTS=!JAVA_DEBUG_OPTS! !KAFKA_OPTS! |
|
) |
|
|
|
rem Which java to use |
|
IF ["%JAVA_HOME%"] EQU [""] ( |
|
set JAVA=java |
|
) ELSE ( |
|
set JAVA="%JAVA_HOME%/bin/java" |
|
) |
|
|
|
rem Memory options |
|
IF ["%KAFKA_HEAP_OPTS%"] EQU [""] ( |
|
set KAFKA_HEAP_OPTS=-Xmx256M |
|
) |
|
|
|
rem JVM performance options |
|
IF ["%KAFKA_JVM_PERFORMANCE_OPTS%"] EQU [""] ( |
|
set KAFKA_JVM_PERFORMANCE_OPTS=-server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true |
|
) |
|
|
|
IF not defined CLASSPATH ( |
|
echo Classpath is empty. Please build the project first e.g. by running 'gradlew jarAll' |
|
EXIT /B 2 |
|
) |
|
|
|
set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp %CLASSPATH% %KAFKA_OPTS% %* |
|
rem echo. |
|
rem echo %COMMAND% |
|
rem echo. |
|
%COMMAND% |
|
|
|
goto :eof |
|
:concat |
|
IF not defined CLASSPATH ( |
|
set CLASSPATH="%~1" |
|
) ELSE ( |
|
set CLASSPATH=%CLASSPATH%;"%~1" |
|
)
|
|
|