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.
155 lines
4.1 KiB
155 lines
4.1 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.10.6 |
|
) |
|
|
|
IF ["%SCALA_BINARY_VERSION%"] EQU [""] ( |
|
set SCALA_BINARY_VERSION=2.10 |
|
) |
|
|
|
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-perf dependencies |
|
for %%i in (%BASE_DIR%\perf\build\dependant-libs-%SCALA_VERSION%\*.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-examples |
|
for %%i in (%BASE_DIR%\examples\build\libs\kafka-examples-*.jar) do ( |
|
call :concat %%i |
|
) |
|
|
|
rem Classpath addition for release |
|
call :concat %BASE_DIR%\libs\* |
|
|
|
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 ( |
|
# 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:+DisableExplicitGC -Djava.awt.headless=true |
|
) |
|
|
|
IF ["%CLASSPATH%"] EQU [""] ( |
|
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 ["%CLASSPATH%"] EQU [""] ( |
|
set CLASSPATH="%1" |
|
) ELSE ( |
|
set CLASSPATH=%CLASSPATH%;"%1" |
|
)
|
|
|