java启动脚本解析

这个问题是基础配置,但也正是因为这一点点没注意,把自己坑了两天.这里先梳理下nohup-java的配置


            #配置程序的最大最小堆内存 -Xss 设置每个线程可使用的内存大小,即栈的大小 
nohup java -Xms1g -Xmx1g -Xss256k \
           #打印垃圾回收器时间 答应垃圾回收器信息
                      -XX:+PrintGCDateStamps -XX:+PrintGCDetails  \
           #将gc日志放于gc.log
                     -verbose:gc -Xloggc:${PROJECT_HOME}/log/gc.log \
           #产生重大错误则执行关闭脚本
                    -XX:+HeapDumpOnOutOfMemoryError \
                    -XX:OnOutOfMemoryError="sh $PROJECT_HOME/bin/stop.sh" \
                     -DPROJECT_HOME=${PROJECT_HOME} \
           #配置appname 在查讯删除时候便于找到 jps还是显示类名
                     -DAAP_NAME=${APP_NAME} \
                     -DCONFIG_PATH=${PROJECT_HOME}/conf \
                     -DPROJECT_CONF_DIR=${PROJECT_HOME}/conf \
           #配置 一个产生 nohup.out,一个停止产生 (可用log进行日志分类 压缩日志)
           #         -cp ${CLASSPATH} ${CLASSNAME}  >  &
                     -cp ${CLASSPATH} ${CLASSNAME}  > /dev/null 2>&1 &

关于-X配置 可以参考https://www.cnblogs.com/leeego-123/p/11572786.html

 

 


现在来总结问题,这个问题的直接原因是读配置出错,程序脚本采用了load-env.sh配置和 start.sh配置,配置如下:

 

if [ -z "${PROJECT_HOME}" ]; then
  export PROJECT_HOME="$(cd "`dirname "$0"`"/..; pwd)"
fi
PROJECT_CONF_DIR=${PROJECT_HOME}/conf
for f in ${PROJECT_CONF_DIR}/*.*; do
        CLASSPATH=${CLASSPATH}:${f};
done

PROJECT_LIB_DIR=${PROJECT_HOME}/lib

for f in ${PROJECT_LIB_DIR}/*.jar; do
        CLASSPATH=${CLASSPATH}:${f};
done

CLASSNAME="com.demo.streaming.python.PythonModelCallerMain"
APP_NAME="model"

没有配置PROJECT_CONF_DIR导致读配置失败,读取了jar包自带的本地配置.至于为什么CONFIG_PATH没有生效,具体的还有待研究.

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值