转载地址: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。

JBoss无规律自动关闭故障定位的更多相关文章

  1. LODOP中无规律无法还原偶尔出现问题排查

    一些问题无法还原且偶尔出现,没法通过做例子来展示问题,为了找到问题在哪里,就需要排查定位问题 .由于这些问题偶尔出现,且无规律,出现频率低,所以只能不断通过各种对比测试,定位排查到问题和什么有关.如果 ...

  2. jboss在eclipse里一直是starting解决方法之一

    jboss\server\default\deploy\jboss-web.deployer\server.xml中的端口设置必须与eclipse中jboss的端口设置的一直.否则就算可以访问 一会在 ...

  3. org.jboss.deployment.DeploymentException: Trying to install an already registered mbean: jboss.jca:service=LocalTxCM,name=egmasDS

    17:34:37,235 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080 17:34:37,281 INFO [ ...

  4. 解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问题。

    解决Mysql连接池被关闭  ,hibernate尝试连接不能连接的问题. (默认MySQL连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池. 所以系统发布第二天访问会 ...

  5. 安装JBOSS

    下载JBOSS 无需安装 修改环境变量: JBOSS_HOME=/root/jboss-as-7.1.1.Finalexport JBOSS_HOME 进入bin下 ./standalone.sh - ...

  6. Ubuntu安装Wildfly(原JBoss)并为其配置MySQL分布式数据源

    注:JBoss在8.0版本后改名为WildFly,以JBoss命名的版本最高为7.1.1.Final,但JBoss7.1.1.Final不支持jdk1.8以上版本,如果在jdk1.8情况下安装JBos ...

  7. 【JBOSS】控制台数据库连接信息

    数据库连接 信息 进入         在这个页面中(IP和端口已自己的为主):ConnectionCount 这个项目代表在服务开启后,总共使用的连接数!ConnectionCreatedCount ...

  8. 【JBOSS】数据库连接配置小结

    数据库驱动位置: %JBOSS_HOME%\server\default\lib目录下. 数据库配置文件位置:JBOSS_HOME\docs\examples\jca\XXXX-ds.xml < ...

  9. 【JBOSS】User not found SA

    启动JBOSS 发现报User not found: SA 错误, 找了老半天才找到处理方法,异常日志如下: java.sql.SQLException: User not found: SA at ...

随机推荐

  1. 2016年 Delphi Roadmap

    2016年delphi Roadmap 发布,这也是新公司的第一次发布路线图. 虽然稍微晚点( 原来说是1月份发布路线图),至少比过去积极点.喧嚣多年的靴子终于落地. Linux 的支持终于正式公布. ...

  2. linux C学习笔记03--单链表

    单链表一直是程序员的基础,我也来复习下,下面是link.c中的代码,供main.c 调用,代码很简单,单链表的插入,删除,查找和遍历输出, #include <stdio.h> #incl ...

  3. [转]linux /proc/cpuinfo 文件分析

    在Linux系统中,提供了proc文件系统显示系统的软硬件信息.如果想了解系统中CPU的提供商和相关配置信息,则可以通过/proc/cpuinfo文件得到.本文章针对该文件进行简单的总结. 基于不同指 ...

  4. C++ MFC获取软件运行目录 (包含软件名)

    TCHAR *path = new TCHAR[MAX_PATH];   GetModuleFileName(NULL,path,MAX_PATH); AfxMessageBox(path);

  5. ElasticSearch 2 (10) - 在ElasticSearch之下(深入理解Shard和Lucene Index)

    摘要 从底层介绍ElasticSearch Shard的内部原理,以及回答为什么使用ElasticSearch有必要了解Lucene的内部工作方式? 了解ElasticSearch API的代价 构建 ...

  6. Spring Framework------>Class RestTemplate----->

    org.springframework.web.client.RestTemplate 官方文档 学习心得: class RESTTemplate用于管理与客户端的HTTP连接

  7. 线程池pool

    参考链接 http://www.open-open.com/lib/view/open1415453575730.html 参考配置 http://www.cnblogs.com/linjiqin/a ...

  8. Android之activity中新建控件

    了解了5大布局,我们会发现这些布局都是静态的,如何让系统自动生成控件呢?这就需要activity来帮忙了 今天我们讲的就是用activity新建布局 用案例来说吧! 实现一个输入行和列自动生成表格并生 ...

  9. Selenium2+python自动化13-多窗口、句柄(handle)

    前言 有些页面的链接打开后,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口了.获取窗口的唯一标识用句柄表示,所以只需要切换句柄,我们就能在多个页面上灵活自如的操作了. 本篇以打开百 ...

  10. java基础-java核心知识库

    本人从事java开发6年左右,主要从事互联网相关的开发,目前还是奋战在一线的码农,痛并快乐着.受互联网产品热潮的影响,关注高性能低成本架构,互联网开发框架,以下是我认为作为一个资深java程序员应该掌 ...