| #!/usr/bin/env bash |
| # |
| #/** |
| # * Licensed to the Apache Software Foundation (ASF) under one |
| # * or more contributor license agreements. See the NOTICE file |
| # * distributed with this work for additional information |
| # * regarding copyright ownership. The ASF licenses this file |
| # * to you under the Apache License, Version 2.0 (the |
| # * "License"); you may not use this file except in compliance |
| # * with the License. You may obtain a copy of the License at |
| # * |
| # * http://www.apache.org/licenses/LICENSE-2.0 |
| # * |
| # * Unless required by applicable law or agreed to in writing, software |
| # * distributed under the License is distributed on an "AS IS" BASIS, |
| # * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # * See the License for the specific language governing permissions and |
| # * limitations under the License. |
| # */ |
| |
| set -e |
| |
| BASEDIR=$(dirname "$0") |
| DLOG_ROOT="${BASEDIR}/../.." |
| |
| DLOG_HOME="${DLOG_ROOT}/distributedlog-core" |
| |
| usage() { |
| cat <<EOF |
| Usage: runner <command> |
| where command is one of: |
| local Run distributedlog sandbox |
| example Run distributedlog example |
| tool Run distributedlog tool |
| proxy_tool Run distributedlog proxy tool to interact with proxies |
| balancer Run distributedlog balancer |
| admin Run distributedlog admin tool |
| help This help message |
| |
| or command is the full name of a class with a defined main() method. |
| |
| Environment variables: |
| DLOG_LOG_CONF Log4j configuration file (default $DEFAULT_LOG_CONF) |
| DLOG_EXTRA_OPTS Extra options to be passed to the jvm |
| DLOG_EXTRA_CLASSPATH Add extra paths to the dlog classpath |
| |
| These variable can also be set in conf/dlogenv.sh |
| EOF |
| } |
| |
| source "${DLOG_ROOT}"/scripts/common.sh |
| |
| # get arguments |
| COMMAND=$1 |
| shift |
| |
| case "${COMMAND}" in |
| local) |
| exec java $OPTS $JMX_ARGS com.twitter.distributedlog.LocalDLMEmulator $@ |
| ;; |
| tool) |
| exec java $OPTS com.twitter.distributedlog.tools.Tool com.twitter.distributedlog.tools.DistributedLogTool $@ |
| ;; |
| admin) |
| exec java $OPTS com.twitter.distributedlog.tools.Tool com.twitter.distributedlog.admin.DistributedLogAdmin $@ |
| ;; |
| help) |
| usage |
| ;; |
| *) |
| exec java $OPTS $COMMAND $@ |
| ;; |
| esac |