转: http://blog.csdn.net/peace_apple/archive/2007/12/06/1920460.aspx
1 在%JBOSS_HOME%/bin目录下运行启动脚本 run.bat,通过org.jboss.Main.main(Dtring[])作为入口点,引发启动.
2 main 方法创建一个名为jboss的线程组,随后启动一个属于该线程组的线程,这个线程调Main.boot方法.
3 boot方法处理main函数的参数,随后创建一个org.jboss.system.server.ServerLoader的对象实例,创建实例的参数是系统属性以及所指定的其他属性.
4 xml解析器的库文件jboss-jmx.jar,concurrent.jar以及参数中指定的其他库和类路径被注册到ServerLoader中.
5 使用ServerLoader.load(ClassLoader)创建jboss实例,参数ClassLoader为当前线程上下文的类装载器.此方法返回的实例是org.jboss.system.server.Server接口的实现类实例.
创建jboss实例的具体过程如下:
1) 创建一个java.net.URLClassLoader实例,其中包含注册到ServerLoader中的jar和URL.该实例将传入的参数ClassLoder作为它的父装载器,并将它保存起来作为线程上下文的类装载器.
2) Server接口的实现类的类名被用以决定boss.server.type,这个值默认为org.jboss.system.server.ServerImpl.
3) 加载Server接口的实现类,并使用无参数的构造函数进行实例化.在ServerLoader.load方法中传入的上下文装载器被保存在服务器实例中,然后服务器实例被返回.
6 调用Server.init方法对服务器实例进行初始话.参数为ServerLoader构造函数中传入的Properties参数.
7 调用Server.start().启动服务器实例.
默认的服务器实例实现执行以下任务:
1) 将当前进程上下文的加载器设置为加载ServerImpl类的加载器
2) 在jboss域下使用MBeanServerFactory.createMBeanServer(String),创建MBeanServer实例.
3) 在MBean服务器上注册ServerImpl和ServerConfigImpl这两个MBean
4) 对同意的类装载器共享池进行初始化,装入所有可选的补丁目录中的jar和con目录中的服务器配置文件.针对每一个jar和目录,都会创建一个org.jboss.mx.loading.UnifiedClassLoader实例,并注册到同意共享池中.这其中的一个UnifiedClassLoader被设置为当前线程上下文中的类装载器,使所有的UnifiedClassLoader都可以通过线程上下文的类装载器获得.
5) 创建org.jboss.system.ServiceController. 这个MBean用来管理JBoss MBean服务的生命周期.
6) 创建并启动org.jboss.deployment.MainDeployer. MainDeployer.用来管理部署依赖关系,并根据部署的类型选择合理的部署器进行部署.
7) 创建并启动org.jboss.deployment.MainDeployer. JARDeployer,用来部署简单的JAR库.
8) 创建并启动org.jboss.deployment.MainDeployer. SARDeployer,用来部署JBoss MBean服务.
9) 调用MainDeployer 来部署conf/jboss-service.xml中所定义的服务,
10) 恢复当前线程上下文中的类装载器.
分享到:
相关推荐
在本文中,我们将深入探讨JBoss的启动过程及其相关知识点。 1. **JBoss目录结构**: JBoss的安装目录包含多个子目录,如`bin`、`server`、`deploy`等。`bin`目录下有启动和停止服务器的脚本,`server`目录则包含了...
**JBoss启动顺序** JBoss的启动过程大致分为以下几个阶段: 1. **环境准备**:首先,JBoss会检查运行环境,包括Java环境(JDK)是否安装正确,版本是否兼容,以及相关的系统变量如JAVA_HOME是否设置。 2. **配置...
在JBoss启动过程中,JDK环境的正确配置至关重要。如果JDK版本不兼容或路径设置有误,很可能导致JBoss启动失败,表现为“一闪而过”的现象。具体而言,以下几点需注意: - **JDK版本**:确保安装的JDK版本与JBoss...
JBoss启动与运行过程的研究,JBoss启动与运行过程的研究
JBoss启动的入口 一旦启动脚本成功执行,将调用`C:\Java\bin\java`命令,启动Java虚拟机并加载`org.jboss.Main`类中的`main`方法作为启动入口。`Main.main`方法会创建一个名为“jboss”的线程组,并在该线程组中...
### Linux下安装JBoss并设置自启动服务 在Linux环境下安装JBoss并配置其...通过以上步骤,我们完成了在Linux环境下JBoss的安装及配置自启动服务的过程。这不仅方便了日常的运维工作,还提高了系统的稳定性和可用性。
本篇文章将详细解析JBoss的配置过程,旨在帮助初学者更好地理解和操作JBoss服务器。 一、JBoss安装与环境准备 在开始配置前,确保已安装了Java Development Kit (JDK)。JBoss需要JDK来运行,因此请先下载并安装适合...
在IT领域,特别是Java应用服务器环境下,JBoss与MySQL数据库的集成是常见需求之一,而JNDI(Java Naming and Directory Interface)在此过程中扮演着关键角色。本文将深入解析如何在JBoss中配置MySQL的JNDI数据源,...
执行脚本后,控制台会显示JBoss的启动过程。 6. **测试JBoss**: 启动成功后,可以通过浏览器访问`http://localhost:8080`,如果看到JBoss的欢迎页面,说明安装和启动均成功。默认情况下,JBoss使用8080端口提供...
Jboss 项目部署文档 Jboss 项目部署文档是指在 Jboss 服务器上部署项目的详细步骤,...Jboss 项目部署文档详细地描述了 Jboss 项目部署的整个过程,包括环境变量的配置、项目打包、配置文件的修改、JNDI 的配置等。
- lib目录:JBoss启动时加载的一般JAR文件,这些JAR文件可供所有配置共享。 - server目录:包含服务器配置文件,每个配置有独立的子目录。 - server/all目录:JBoss的完整配置,启动所有服务,包括集群和IIOP。 - ...
* lib:一些JAR,JBOSS启动时加载,且被所有JBOSS配置共享。 * server:各种JBOSS配置。每个配置必须放在不同的子目录。子目录的名字表示配置的名字。 三、JBOSS的配置 1. 日志文件设置 日志文件设置是JBOSS配置...
【JBoss 用 ANT 部署详解】 在IT行业中,JBoss是一个广泛使用的开源Java应用服务器,它支持Java EE规范,包括EJB(Enterprise JavaBeans)。ANT是Apache项目的一个构建工具,它允许开发者通过XML配置文件来自动化...
- 配置过程中,确保MyEclipse和JBoss的版本兼容。不同版本的MyEclipse可能对JBoss的支持程度不同,所以建议使用最新稳定版的MyEclipse。 - 为避免冲突,关闭防火墙或允许MyEclipse通过防火墙访问端口,因为JBoss...
10. **图形化示意图**:为了更直观地理解配置过程,可以参考提供的“图形化示意图.docx”文件,该文件通常包含步骤的截图和流程图,帮助开发者清晰了解每个配置阶段。 通过以上步骤,我们完成了MyEclipse中JBoss的...
对于初学者,使用JBoss可能会遇到一些挑战,因为它的配置和部署过程并不像许多其他应用服务器那样提供图形化界面。这使得EJB的开发和部署相对复杂。本文旨在通过实例简化这一过程,帮助新用户快速熟悉在JBoss 3.0中...
同时,`JBOSS_HOME\standalone\log`或`JBOSS_HOME/domain/log`目录下的日志文件也会记录详细的启动过程和可能的错误。 8. **更新与删除服务**: 当需要更新JBoss服务或移除服务时,可以使用以下命令: ```cmd ...
本资源摘要信息将详细介绍 JBOSS 在 Windows 平台上的安装和部署过程,涵盖了环境准备、JBOSS 安装、环境变量设置、运行和终止 JBOSS、部署 WAR 文件等多个方面的知识点。 一、环境准备 在安装 JBOSS 之前,需要...