`
kaminlee
  • 浏览: 264153 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

[转]JBoss无规律自动关闭故障定位

阅读更多
最近遇到了几次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] (JBoss Shutdown Hook) Runtime shutdown hook called, forceHalt: true
2011-10-27 06:02:05,089 INFO [org.apache.coyote.http11.Http11Protocol] (JBoss Shutdown 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] (JBoss Shutdown 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 service jboss start。
分享到:
评论

相关推荐

    \Linux下配置JBoss自动启动(JBoss V4.0)

    - `JBOSSCP`: 设置为JBoss关闭时所需的类路径。 - `JBOSSSH`: 设置为启动JBoss时所需的脚本路径。 示例脚本如下: ```bash #!/bin/sh # JBoss Control Script # chkconfig: 380 20 # description: JBoss EJB ...

    TOMCAT项目转成JBOSS项目的步骤

    TOMCAT项目转成JBOSS项目的步骤

    weblogic到jboss转换的示例代码

    这里提到的"weblogic到jboss转换的示例代码"就是一个这样的例子,它提供了一个自动化工具,帮助用户将WebLogic服务器的配置文件转换为JBoss服务器兼容的格式,极大地简化了迁移过程,避免了手动修改带来的工作量和...

    JBoss转换到Weblogic

    - **故障排查**:了解WebLogic的错误信息和诊断工具,以便快速定位并解决问题。 6. **持续集成与部署**: - **自动化部署**:设置持续集成工具,确保每次代码更改后都能自动构建和部署到WebLogic,加速迭代过程。...

    JBOSS,JBoss安装部署

    JBoss会自动检测并部署该应用。也可以通过管理控制台或CLI(Command Line Interface)手动部署。 8. **配置管理**: JBoss提供了Web管理界面,即管理控制台,通过`http://localhost:9990`访问。在这里,你可以管理...

    在IntelliJ idea8中部署Jboss服务器图解

    "在IntelliJ IDEA 8中部署Jboss服务器图解" IntelliJ IDEA 8是 JetBrains 公司开发的一款功能强大且灵活的集成开发环境(IDE),它支持多种programming语言,包括Java、Python、Ruby、PHP等。Jboss则是一款流行的...

    jboss 下载(httpwww.jboss.org)

    3. 关闭 JBoss,可以通过执行 `%JBoss_HOME%\bin\shutdown.bat -S` 命令。 4. 配置 JBoss 的端口,例如将 HTTP 服务监听端口改为 80,需编辑 `jbossweb-tomcat41.sar\META-INF\jboss-service.xml` 文件。 JBoss 的...

    JBoss AS7教程

    六、JBoss AS7的故障排查与日志管理 1. 日志配置:通过logging subsystem调整日志级别,便于调试和问题定位。 2. JMX监控:利用JMX接口监控服务器状态,如内存、线程、服务等。 3. CLI和Admin Console:使用命令行...

    在jboss上部署web应用

    当你将应用程序的部署单元放入此目录时,JBoss会自动检测并进行部署。 【启动JBoss】 要启动JBoss,只需运行bin目录下的run.bat(Windows系统)或run.sh(Unix/Linux系统)文件。启动成功后,访问...

    基于JBOSS的J2EE开发(PDF)

    12. **故障诊断与日志管理**:讲解如何利用JBOSS的日志系统进行问题定位,以及常见错误的解决策略。 通过学习这本书,开发者不仅可以掌握J2EE开发的基本技能,还能深入了解JBOSS应用服务器的特性和优势,为构建高效...

    JBoss用户操作指南

    《JBoss用户操作指南》是一份详尽的文档,旨在帮助用户熟练掌握JBoss应用服务器的使用和管理。JBoss是Red Hat公司开发的一款开源Java应用服务器,它基于Java EE(Enterprise Edition)标准,提供了全面的中间件服务...

    jboss集成进eclipse

    在IT行业中,集成开发环境(IDE)如Eclipse是开发者常用的工具,而JBoss作为一款流行的Java应用服务器,它的集成对于Java EE项目的开发至关重要。本文将深入探讨如何将JBoss服务器与Eclipse进行无缝整合,以提升开发...

    解决eclipse安装Jboss Tools插件后自动提示变慢.pdf

    标题所反映的知识点是:在Eclipse集成开发环境中安装Jboss Tools插件后遇到的性能问题及其解决方案。 描述所涉及的知识点:当用户在Eclipse中安装了Jboss Tools插件之后,可能会发现Eclipse的启动和运行速度变慢,...

    Jboss项目部署文档

    Jboss 项目部署文档 Jboss 项目部署文档是指在 Jboss 服务器上部署项目的详细步骤,包括环境变量的配置、项目打包、配置文件的修改、JNDI 的配置等。以下是 Jboss 项目部署文档的详细知识点: 一、环境变量配置 ...

    jboss7.1 linux版本

    6. **部署应用**:将应用的WAR或EAR文件复制到`JBOSS_HOME/standalone/deployments`或`JBOSS_HOME/domain/deployments`目录下,服务器会自动检测并部署应用。 在实际操作中,可能还需要考虑防火墙配置、日志管理、...

    Jboss基础.pdf

    - **自动部署与热部署**:JBoss支持自动部署和热部署,修改过的应用文件会被自动检测并重新部署。 5. **安全性** - **用户认证**:JBoss支持多种认证机制,如Jaas、LDAP等,可以通过管理控制台配置安全域和角色。...

    JBoss启动 JBoss启动

    JBoss,作为一款开源的应用服务器,是Java EE(现在称为Jakarta EE)应用程序的重要运行环境。它由Red Hat公司维护,提供了对Web服务、EJB(Enterprise JavaBeans)、JMS(Java Message Service)等标准的全面支持。...

    MyEclipse中配置JBoss

    MyEclipse会自动检测到JBoss的版本。 6. **创建服务器实例**:回到“Server”视图,右键点击,选择“New” -> “Server”。在展开的JBoss列表中,选择刚配置的环境,然后点击“Next”。 7. **配置服务器设置**:在...

Global site tag (gtag.js) - Google Analytics