zhangjf 1225d8387e feat: 配置文件分离为统一配置和个性化配置
- 新增service.properties:每个服务独立的个性化配置
  - APP_NAME: 服务名称
  - INSTANCE_NAME: 实例名称(多租户场景)
  - TENANT_ID: 租户标识

- env.properties:所有服务共用的统一配置
  - Nacos/Redis/日志等公共参数

- 加载顺序:先env.properties,后service.properties(个性化覆盖统一)

- 更新assembly.xml:service.properties打包到conf目录
- 更新启动脚本:统一使用load_properties函数加载配置
2026-02-22 16:10:03 +08:00

67 lines
1.4 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 服务停止脚本
# 支持多租户模式
# 获取脚本所在目录
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
APP_HOME=$(dirname "$SCRIPT_DIR")
# 加载函数读取properties文件
load_properties() {
local file="$1"
if [ -f "$file" ]; then
while IFS='=' read -r key value; do
[[ "$key" =~ ^#.*$ ]] && continue
[[ -z "$key" ]] && continue
key=$(echo "$key" | xargs)
value=$(echo "$value" | xargs)
export "$key=$value"
done < "$file"
fi
}
# 加载配置文件(先统一,后个性化)
load_properties "${APP_HOME}/conf/env.properties"
load_properties "${APP_HOME}/conf/service.properties"
# 设置默认值
APP_NAME=${APP_NAME:-"unknown"}
INSTANCE_NAME=${INSTANCE_NAME:-${APP_NAME}}
# PID文件路径
PID_FILE="${APP_HOME}/${INSTANCE_NAME}.pid"
# 检查是否运行
if [ ! -f "$PID_FILE" ]; then
echo "${INSTANCE_NAME} is not running"
exit 0
fi
PID=$(cat $PID_FILE)
if ! ps -p $PID > /dev/null 2>&1; then
echo "${INSTANCE_NAME} is not running"
rm -f $PID_FILE
exit 0
fi
# 停止服务
echo "Stopping ${INSTANCE_NAME} (PID: $PID)..."
kill $PID
# 等待停止
for i in {1..30}; do
if ! ps -p $PID > /dev/null 2>&1; then
break
fi
sleep 1
done
# 强制停止
if ps -p $PID > /dev/null 2>&1; then
echo "Force killing ${INSTANCE_NAME}..."
kill -9 $PID
fi
rm -f $PID_FILE
echo "${INSTANCE_NAME} stopped"