ITPub博客

首页 > 应用开发 > Java > weblogic报错BEA-000388解决服务进程异常消失问题

weblogic报错BEA-000388解决服务进程异常消失问题

原创 Java 作者:jaymarco 时间:2020-11-09 11:03:13 0 删除 编辑

1、问题描述

运维同事反馈说运营系统weblogic服务进程异常退出,最后导致HA自动切换,切换过程失败导致文件系统无法挂起,weblogic和DB无法正常启动。

2、故障分析

中间件工程师在故障时间点:2017-01-10 17:26分左右,巡检了三套domain环境,最终在rpsdomain域下面的Adminserver.log日志中找到了服务被异常退出的信息,Adminserver无法正常启动,调用<BEA-000388> <JVM called WLS shutdown hook的原因,最终weblogic进程启动不来,于是HA的进程会调用weblogic自检脚本发现服务无法正常启动后,会自动切换HA到备机器。

####<2017-1-10 下午 05 26 48 CST> <Notice> <WebLogicServer> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408882> <BEA-000388> <JVM called WLS shutdown hook. The server will force shutdown now>

####<2017-1-10 下午 05 26 48 CST> <Alert> <WebLogicServer> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408883> <BEA-000396> <Server shutdown has been requested by <WLS Kernel>>

####<2017-1-10 下午 05 26 48 CST> <Notice> <WebLogicServer> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408885> <BEA-000365> <Server state changed to FORCE_SUSPENDING>

####<2017-1-10 下午 05 26 48 CST> <Info> <Diagnostics> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408922> <BEA-320002> <The Diagnostics subsystem is stopping on Server AdminServer.>

####<2017-1-10 下午 05 26 48 CST> <Info> <WebService> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408931> <BEA-220028> <Web Service reliable agents are suspended.>

####<2017-1-10 下午 05 26 48 CST> <Info> <WebService> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408932> <BEA-220029> <Web Service reliable agents are shut down.>

####<2017-1-10 下午 05 26 48 CST> <Info> <SAFService> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408933> <BEA-281004> <SAF Service has been suspended.>

3、故障原因

本身weblogic不会自己停止,它是收到停止的信号才自己关闭的。通常情况下,产生JVM called WLS shutdown hook的原因是应用的代码中调用了System.exit()方法,触发了weblogic停止。导致weblogic服务启动失败,最终导致HA切换到备机失败。其实WebLogic中没有任何代码会调用System.exit()方法,建议检查应用程序代码,以及引用的第三方类库中是否有可能调用到System.exit()方法。关于JVM called WLS shutdown hook的原因是偶发性的产生,定不会时刻调用。

4、故障解决

1、需要开发确认应用程序和第三方类库是否引用了System.exit()方法,如果有引用,建议去掉此方法。如果开发也不知道,建议开启weblogic的trace跟踪,但trace一开启会刷很多日志出来会影响磁盘IO读写。

2、ORACLE官方也提供了规避方法那就是在weblogic中加上-Xrs参数,可以避免这个问题
5、参考资料

Error: "BEA-000388 JVM called WLS shutdown hook. The server will force shutdown now" when BI_Server1 Shuts Down. (文档 ID 1321815.1)

BEA-000388: JVM called WLS shutdown hook. The server will force shutdown now. (文档 ID 1626472.1)




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28833846/viewspace-2732931/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
负责数据库、中间件、大数据等基础软件建设、优化和业务保障工作。具有10年的电信与银行企业一线/二线运维管理经验。目前专注研究云计算、中间件和数据库等领域技术研究。持有Oracle OCP、weblogic OCP、Docker容器、PGCE和阿里云ACP等认证

注册时间:2020-06-22

  • 博文量
    76
  • 访问量
    36809