以下说到的版本是jboss-4.2.3.GA
并且假设JBoss安装在D:\Java\jboss-4.2.3.GA
JBoss部署的时候支持很多种格式打的包,比如说我们从deploy目录下面会看到有后缀名为deployer、sar,war,rar,xml ... (后来发现其实JBoss部署支持的格式,远远不止这些)
但是这些不同格式的应用是怎样的一个加载顺序呢?或者说有没有什么规律?带着这个疑问我在Jboss启动的时候仔细的看了一下命令行中的信息,发现两个信息:
1、 最先加载的是后缀名为deployer目录下应用或者服务;
2、 每次都会等有相同后缀名的应用(或者目录下的应用)完全加载完之后才会去加载另外一种后缀名
发现这两点之后,我就找了一下Jboss的一些配置文件,原来在D:\Java\jboss-4.2.3.GA\server\default\conf\xmdesc org.jboss.deployment.MainDeployer-xmbean.xml文件里面有这么一段内容:
<attribute access='read-write' setMethod='setEnhancedSuffixOrder' getMethod='getEnhancedSuffixOrder'>
<description>Allows the override of the suffix order declared by subdeployers, using the syntax [order:]suffix
</description>
<name>EnhancedSuffixOrder</name>
<type>[Ljava.lang.String;</type>
<!--
Statically set one or more enhanced suffix orders, independent of the value proposed by subdeployers.
Some deployers may also allow the suffixes/orders to be set locally, so that's preferable too.
For reference, this is the list of enhanced suffixes likely to be set by deployers (it may not
be completely up-to-date, or there can be user-defined deployers).
050:.deployer,050:-deployer.xml,100:.aop,100:-aop.xml,150:.sar,150:-service.xml,200:. ,250:.rar,300:-ds.xml,350:.har,400:.jar,400:.ejb3,400:.par,500:.war,600:.wsr,650:.ear,700:.jar,750:.zip,800:.bsh,900:.last
Until we resolve some startup issues, we'll setup some static enhanced suffix orders bellow
and leave the rest of the suffixes contributed dynamically by registering deployers.
-->
<descriptors>
<value value="250:.rar,300:-ds.xml,400:.jar,500:.war,550:.jse,650:.ear,800:.bsh"/>
</descriptors>
</attribute>
如果我们需要在JBoss下面部署很多应用,并且有些时候这些应用相互之间需要有先后启动顺序,我们可以通过以下两种方式做到。
1、 根据实际需要,部署到不同的子目录下面
2、 通过修改下面value值来改变JBoss默认加载顺序
<descriptors>
<value value="250:.rar,300:-ds.xml,400:.jar,500:.war,550:.jse,650:.ear,800:.bsh"/>
</descriptors>
分享到:
相关推荐
**JBoss启动顺序** JBoss的启动过程大致分为以下几个阶段: 1. **环境准备**:首先,JBoss会检查运行环境,包括Java环境(JDK)是否安装正确,版本是否兼容,以及相关的系统变量如JAVA_HOME是否设置。 2. **配置...
默认应用程序是指当用户在浏览器中输入服务器IP时,JBoss服务器会自动加载并显示的第一个应用。通常,默认应用是服务器启动时自动部署的首个WAR或EAR文件。 描述中提到的方法简单明了,主要步骤包括: 1. **编辑...
1. 配置 $JBOSS-HOME/server/default/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml 文件里的 Java2ClassLoadingCompliance 及 UseJBossWebLoader 为 false,如果应用程序下存在 WEB-INF/jboss-web.xml...
要在另一个模块或应用程序中引用模块,需要在相应的`module.xml`或`jboss-deployment-structure.xml`(对于部署的应用)中声明依赖。依赖可以是全局的,也可以是私有的,具体取决于是否希望其他模块也能访问该依赖...
6. **通过文件系统部署**:可以直接将应用程序部署到`deployments`目录下,JBoss7会在启动时自动检测并部署这些应用程序。 7. **使用Maven插件部署**:也可以利用`jboss-as-maven-plugin`插件来自动化部署过程,这...
### jboss-seam 注解详解 #### @Name 在JBoss Seam框架中,`@Name`注解主要用于定义一个Seam组件。为了确保组件能够被正确识别与使用,每个Seam...通过合理地使用这些注解,可以有效地提高应用程序的性能和可维护性。
- **简化部署**:简化了应用程序的部署流程,使得开发者能够更快地部署和测试应用。 - **改进的管理界面**:提供了更加直观的图形用户界面,方便管理员进行监控和管理。 - **更高级的安全性**:增强了安全性功能,...
JBoss AOP(Aspect Oriented Programming)是JBoss企业级应用服务器提供的一种面向切面编程框架,它旨在简化企业级应用程序中横切关注点的管理。面向切面编程是一种编程范式,通过将程序中的横切关注点(如日志、...
JBoss Seam3是一个功能强大的企业级应用开发框架,旨在简化Java EE应用程序的构建过程。它通过提供一系列高级特性来增强现有的Java EE标准(如CDI),帮助开发者更高效地开发高质量的应用程序。 #### 二、JBoss ...
- **Tomcat启动分析**:了解Tomcat启动时的过程和加载顺序对于调试和优化非常有帮助。 - **Tomcat目录结构**:熟悉Tomcat的目录结构有助于更好地管理Web应用。 - **创建和发布Web应用**:可以手动部署Web应用,也...
### JBoss jBPM jPDL中文指南知识点详解 #### 一、引言 JBoss jBPM(Java Business Process Management)是一个开源的工作流引擎,主要用于实现业务流程管理和任务协调。jPDL(jBPM Process Definition Language)...
3) 加载规则:应用程序启动时,加载Kie Session并插入事实。 4) 规则执行:通过fireAllRules()方法激活规则引擎,根据Working Memory中的事实触发规则。 **8. 性能优化** Drools 提供了优化选项,如并发执行规则、...
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 20、abstract class和interface有什么区别? ...
JBuilder支持多种Java应用的开发,包括应用程序、Applet、JSP、JavaBeans、EJB以及J2EE应用。它还具备与其他知名J2EE服务器的紧密集成,如BEA WebLogic、IBM WebSphere、Sybase EAServer、JBoss和Borland Enterprise...
其中`<load-on-startup>`元素用于指定Servlet在服务器启动时的加载顺序,值越小的Servlet越先加载。 #### 五、结论 Servlet是Java Web开发中的核心组件,掌握其基本概念、生命周期管理及部署流程对于成为一名合格...
在JavaWeb应用中,类加载遵循特定顺序。首先检查应用的`WEB-INF/classes`目录,然后是`WEB-INF/lib`目录中的JAR文件。值得注意的是,Tomcat的`lib`目录包含的JAR文件不仅可供Tomcat使用,也能被所有发布的JavaWeb...
在处理网络繁忙问题时,尤其是遇到像QQ这样的应用程序出现繁忙状态时,我们需要了解网络通信的基础以及Web应用的工作机制。以下是一些关键知识点: 1. **JSP(Java Server Pages)的工作原理**: JSP是一种动态...
- `<load-on-startup>`用于设置Servlet的加载顺序。 ##### 1.4 Servlet的调用过程 - **流程**:客户端发起HTTP请求 -> Web服务器接收到请求 -> 根据配置文件找到对应的Servlet -> Servlet处理请求 -> 返回响应给...