最近遇到了几次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。
相关推荐
- `JBOSSCP`: 设置为JBoss关闭时所需的类路径。 - `JBOSSSH`: 设置为启动JBoss时所需的脚本路径。 示例脚本如下: ```bash #!/bin/sh # JBoss Control Script # chkconfig: 380 20 # description: JBoss EJB ...
JBoss会自动检测并部署该应用。也可以通过管理控制台或CLI(Command Line Interface)手动部署。 8. **配置管理**: JBoss提供了Web管理界面,即管理控制台,通过`http://localhost:9990`访问。在这里,你可以管理...
"在IntelliJ IDEA 8中部署Jboss服务器图解" IntelliJ IDEA 8是 JetBrains 公司开发的一款功能强大且灵活的集成开发环境(IDE),它支持多种programming语言,包括Java、Python、Ruby、PHP等。Jboss则是一款流行的...
3. 关闭 JBoss,可以通过执行 `%JBoss_HOME%\bin\shutdown.bat -S` 命令。 4. 配置 JBoss 的端口,例如将 HTTP 服务监听端口改为 80,需编辑 `jbossweb-tomcat41.sar\META-INF\jboss-service.xml` 文件。 JBoss 的...
六、JBoss AS7的故障排查与日志管理 1. 日志配置:通过logging subsystem调整日志级别,便于调试和问题定位。 2. JMX监控:利用JMX接口监控服务器状态,如内存、线程、服务等。 3. CLI和Admin Console:使用命令行...
当你将应用程序的部署单元放入此目录时,JBoss会自动检测并进行部署。 【启动JBoss】 要启动JBoss,只需运行bin目录下的run.bat(Windows系统)或run.sh(Unix/Linux系统)文件。启动成功后,访问...
对于Windows用户来说,将JBoss配置为系统服务可以实现自动启动,避免每次开机时手动开启,从而提高工作效率。本文将详细介绍如何在Windows系统中将JBoss设置为一个系统服务。 首先,我们需要准备以下工具: 1. ...
标题所反映的知识点是:在Eclipse集成开发环境中安装Jboss Tools插件后遇到的性能问题及其解决方案。 描述所涉及的知识点:当用户在Eclipse中安装了Jboss Tools插件之后,可能会发现Eclipse的启动和运行速度变慢,...
在IT行业中,集成开发环境(IDE)如Eclipse是开发者常用的工具,而JBoss作为一款流行的Java应用服务器,它的集成对于Java EE项目的开发至关重要。本文将深入探讨如何将JBoss服务器与Eclipse进行无缝整合,以提升开发...
Jboss 项目部署文档 Jboss 项目部署文档是指在 Jboss 服务器上部署项目的详细步骤,包括环境变量的配置、项目打包、配置文件的修改、JNDI 的配置等。以下是 Jboss 项目部署文档的详细知识点: 一、环境变量配置 ...
12. **故障诊断与日志管理**:讲解如何利用JBOSS的日志系统进行问题定位,以及常见错误的解决策略。 通过学习这本书,开发者不仅可以掌握J2EE开发的基本技能,还能深入了解JBOSS应用服务器的特性和优势,为构建高效...
6. **部署应用**:将应用的WAR或EAR文件复制到`JBOSS_HOME/standalone/deployments`或`JBOSS_HOME/domain/deployments`目录下,服务器会自动检测并部署应用。 在实际操作中,可能还需要考虑防火墙配置、日志管理、...
- **自动部署与热部署**:JBoss支持自动部署和热部署,修改过的应用文件会被自动检测并重新部署。 5. **安全性** - **用户认证**:JBoss支持多种认证机制,如Jaas、LDAP等,可以通过管理控制台配置安全域和角色。...
JBoss,作为一款开源的应用服务器,是Java EE(现在称为Jakarta EE)应用程序的重要运行环境。它由Red Hat公司维护,提供了对Web服务、EJB(Enterprise JavaBeans)、JMS(Java Message Service)等标准的全面支持。...
《JBoss用户操作指南》是一份详尽的文档,旨在帮助用户熟练掌握JBoss应用服务器的使用和管理。JBoss是Red Hat公司开发的一款开源Java应用服务器,它基于Java EE(Enterprise Edition)标准,提供了全面的中间件服务...
MyEclipse会自动检测到JBoss的版本。 6. **创建服务器实例**:回到“Server”视图,右键点击,选择“New” -> “Server”。在展开的JBoss列表中,选择刚配置的环境,然后点击“Next”。 7. **配置服务器设置**:在...
最好不要直接关闭运行 JBOSS 时的控制台窗口,直接关闭控制台可能导致 JBOSS 下次启动时出现异常。正常关闭 JBOSS 的方法是另外打开一个控制台窗口,执行 JBoss\bin 目录下的 shutdown.bat 批处理文件。 六、部署 ...
这样,当在该目录下添加或更新文件时,JBoss会自动处理热部署。 5. **使用工具辅助**:有一些工具可以帮助简化热部署过程,例如JRebel和Red Hat JBoss Developer Studio。这些工具可以实时跟踪代码更改,并自动同步...