zoukankan      html  css  js  c++  java
  • JBoss无规律自动关闭故障定位

    转载地址:http://blog.knowsky.com/264489.htm

    最近遇到了几次JBoss无规律自动关闭的奇怪现象,通过history历史命令和last登录信息,都看不到有人操作过的迹象。

    后来查了一些资料,JBoss官方论坛给出的几条解释是:
    1.JBoss自己没有设置可以自动shutdown的机制;
    2.JBoss可以通过web console进行关闭,但我们已经去掉了相关的软件包;
    3.JBoss可能接受Ctrl+C或非后台运行的session中断信号而执行shutdown。

    后来我查到我们的情况和第3点很类似:

    通过日志可以看到JBoss是在06:02:04接到一个关闭请求的。
    2011-10-27 06:02:04,086 INFO [org.jboss.bootstrap.microcontainer.ServerImpl] (JBossShutdown Hook) Runtime shutdown hook called, forceHalt: true
    2011-10-27 06:02:05,089 INFO [org.apache.coyote.http11.Http11Protocol] (JBossShutdown Hook) Pausing Coyote HTTP/1.1 on http-0.0.0.0-80
    2011-10-27 06:02:05,090 INFO [org.apache.coyote.http11.Http11Protocol] (JBossShutdown Hook) Stopping Coyote HTTP/1.1 on http-0.0.0.0-80

    而jack是在这个时候退出终端的:
    jack pts/0 125.69.77.99 Thu Oct 27 05:20 - 06:02 (00:41)

    查看history历史记录,之前最后一次启动JBoss是在05:49:20通过执行restart_jboss.sh脚本完成的:
    2011-10-27_05:49:20 ./restart_jboss.sh

    接着通过find命令在jack的home目录下找到了该restart_jboss.sh脚本。

    继续查看了脚本内容,发现在一系列操作之后,最后执行了service jboss start 和 tail -f ./log/server.log 的动作,我怀疑是jack的非正常退出导致了JBoss的关闭,于是在虚拟机上做了测试。
    结果证明确实如此,如果在执行了脚本之后直接关闭了客户端窗口,而不是通过exit正常退出的话,JBoss会自动执行shutdown,情况非常容易重现。

    但是按道理说,我们是使用的JBoss官方自带的脚本,应该是与apache等其它软件自带的脚本一样让进程以后台服务的方式运行的,不应该接收非后台运行的session中断信号。但经过反复测试后,证明其并非我们想象中那样值得信赖。

    因此,我们今后还是最好加上nohup来确保JBoss不会接收session的中断信号:nohup servicejboss start。

  • 相关阅读:
    1-1 课程简介 & 2-1 IDEA与Eclipse的不同 & 2-3 Intellij IDEA安装
    MyBatis入门
    贪婪法——————贪心算法
    Java排序之直接选择排序
    是时候学一波STL了。。。
    Java提高篇(三一)-----Stack
    Android 经常使用工作命令mmm,mm,m,croot,cgrep,jgrep,resgrep,godir
    【POJ 2750】 Potted Flower(线段树套dp)
    POJ 题目3321 Apple Tree(线段树)
    Android新手入门2016(14)--FragmentTabHost实现选项卡和菜单
  • 原文地址:https://www.cnblogs.com/gw811/p/4195116.html
Copyright © 2011-2022 走看看