# OA服务启动过程中自动停止

# 问题现象

OA服务启动后,进程自动停止,日志没有输出任何报错信息。

# 分析步骤

# 判断是否进入应用程序启动过程

启动OA自动停止,我们可以先判断是否已经进入了应用启动过程:

直接查看 是否生成了ctp.log 日志,没有生成ctp.log,说明还没有进入应用启动过程。

如果没有生成,一般可能是应用程序有问题,导致中间件无法正常加载。比如,安装过程 seeyon 没有正常解压完成,缺文件等。

# 判断是否程序自动停止

1、检查ctp.log,末尾处是否出现 System destroyed 关键字

1777277623326.png

出现则表明是受外部停止等信号导致程序正常停止退出,可能原因:

  • 服务以前台方式启动,用户ssh会话等断开后,导致服务自动停止
  • 用户误操作、关闭端口触发、S1备份自动停止等

2、检查中间件日志,是否有停止退出等标识记录

检查中间件日志,在OA服务停止时间前后是否有记录应用实例退出等关键字。

如果存在,一般可以排除是外部强制kill等导致,考虑从以下方面检查:

  • 重点关注是否因数据库连接池初始化失败导致程序退出,包括三方客开连接池,分库数据库等。
  • 代码无意调用到了中间件的退出逻辑

信创中间件V9.0~V10.0SP1版本之间,使用定制JNDI方式配置致远数据源连接池时,如果配置错误导致初始化失败,因兼容性问题不会打印日志。建议可以先通过中间件数据源测试通过后,再换为我们的连接池方式。

3、检查操作系统日志、安全软件记录

检查操作系统日志,例如 /var/log/message 或 dmesg,是否存在 OOM KILL 记录。

检查安全软件日志,是否有拦截记录。

编撰人:wangyxyf