#!/usr/bin/env bash
# 自定义参数
readonly JAVA_OPTS="-Xms512m -Xmx2048m"
readonly JAVA_OPTS_MIN="-Xms256m -Xmx512m"
readonly LOGGING_PATH=/usr/local/bstLog
function stopService() {
echo "[$$]stop service : $1"
kill -9 $(jps -ml | grep $1.jar | awk '{print $1}')
if [[ $? -eq 0 ]]; then
echo "[$$]stop success : $1"
return 0
else
echo "[$$]stop failed : $1"
return 1
fi
}
function startService() {
echo "[$$]start service : $1"
case $1 in
"bst-gateway" | \
"bst-oauth" | \
"bst-platform-saas.jar" | \
"bst-file-saas" | \
"bst-biz-im" | \
"bst-biz-knowledge" | \
"bst-biz-knowledge-tax" | \
"bst-biz-qa" | \
"bst-biz-search" | \
"bst-biz-user")
JAVA_OPTS="-Xms512m -Xmx1024m"
;;
*)
# 其他情况默认
JAVA_OPTS="-Xms256m -Xmx512m"
;;
esac
case $1 in
"bst-file-saas")
loggingPath="$LOGGING_PATH/bst-file"
;;
"bst-import-saas")
loggingPath="$LOGGING_PATH/bst-import"
;;
"bst-report-saas")
loggingPath="$LOGGING_PATH/bst-report"
;;
"bst-message-saas")
loggingPath="$LOGGING_PATH/bst-message"
;;
"bst-scheduler-saas")
loggingPath="$LOGGING_PATH/bst-scheduler"
;;
*)
# 其他情况
loggingPath="$LOGGING_PATH/$1"
;;
esac
nohup java -jar $JAVA_OPTS $1.jar > "$loggingPath/$1.log" &
echo "[$$]java : java -jar $JAVA_OPTS $1.jar"
echo "[$$]start success : $1"
}
function restartService() {
stopService $1
if [[ $? -eq 0 ]]; then
echo "[$$]"
echo "[$$]wait $WAIT s to start : $1"
sleep $WAIT
fi
echo "[$$]"
startService $1
}
# -----------------------------------------------
# Process options with priority