- 浏览: 101485 次
- 性别:
- 来自: 武汉
-
最新评论
-
zljerityzljerity:
<#assign ipage=page?number&g ...
freeMark全解 -
qiankai86:
...
freeMark全解
1. 概念介绍
UCL : org.jboss.mx.loading.UnifiedClassLoader3 ,它继承标准的java.net.URLClassLoader,覆盖了标准parent delegation模型以使用共享class和资源仓库
仓库(responsitory): org.jboss.mx.loading.UnifiedLoaderRepository3。
平面模型
:为了热deploy模块的需要,JBoss实现了自己的类装载器UnifiedClassLoader3,一般来说,一个顶层的deployment就有一个UnifiedClassLoader3实例为之工作。一个deployment所装载的类,其他
deployment是可见的。全局唯一的UnifiedLoaderRepository3实例用于管理这
些类,以及装载它们的UnifiedClassLoader3。UnifiedLoaderRepository3
实例和UnifiedClassLoader3实例是一对多的关系。
2.
jboss classloader机制

















首先看一下各种类型的deployer。不同的deployer是根据文件的后缀进行区分。MainDeployer起到一个controller的作用,根据不用的后缀分发到不同的deployer进行处理。如果是*.ear,则会由EARDeployer进行载入。
应用的加载时一个
Top Level Deployer + Top Level Ucl。
举个例子,比如发布一个a.ear应用,ear应用中会包含一个*.war。这时候就会涉及deployer选择问题。jboss采取的原则就是按Top
Level,根据最顶层的应用选择deployer,继而也有了top level
ucl的概念。由顶级的ucl来加载整个应用。这里需要注意的是war的部署有点特别。它只是将自身添加到ucl的classpath域中,而war下的WEB-INF/lib/*.jar,则是由WebAppClassloader来加载。可调整ear下的
META-INF/jboss-service.xml中的UseJbossWebLoader属性。如果设置为true,故名思义就是用ucl来加载war下的jar包。否则就是采用独立的classloader加载。
再看一下ucl的加载过程,首先会调用仓库去loadclass,仓库在查找无果的情况下会回调各自的UCL去加载本地库。
3. jboss scope配置
ClassLoadingConfiguration 一书中描述:
意思是说,scope配置只能是顶级下的配置,比如一个.sar中包含.war都配置了scope,只有.sar下的
META-INF/jboos-service.xml才有效。这也与前面 TOP level UCL + TOP
Devloper相对应。
针对.sar,你可以在jboss-service.xml中,添加如下配置:



针对.ear
,你可以在jboss-app.xml添加如下配置:



针对 .war,你可以在jboss-web.xml添加如下配置:










注意,在最新的4.2.1版本中,<class-loading>标签已经不再使用,你可以直接配置:



针对这两种方式的配置,4.0.5版本都支持。
针对典型的ear+war应用,*.ear/META-INF/jboos-service.xml,用于调整war的加载方式。













配置java2ClassLoadingCompliance为true,则表明是选择parent
first。典型的classloader的双亲委托模型,否则是采用child first,先从自身加载,找不到再相父类请求。
配置UseJBossWebLoader为false,则webapp的加载通过独立于jboss的classloader进行加载。
发表评论
-
ofbiz 之entity实体
2014-03-25 18:16 955ofbiz 之entity实体 1. 实体定义文件 实体定 ... -
ofbiz迷你语言
2012-08-08 17:13 2310simple-map-processor 和 sim ... -
ofbiz之entity 实体解析
2012-08-08 17:12 1525ofbiz 之entity实体 1. 实体定义文件 实体定 ... -
ofbiz之旅-实体简介(中英译)
2012-08-09 09:34 1183OFBIZ ENTITY ENGINE COOKBOOK = ... -
OFBIz之旅[结构]
2012-08-08 17:03 1505OFBIz之旅[结构] 注意: 1,持久层,在OFBI ... -
java concurrent 探秘(2)
2011-08-08 14:21 927java concurrent 探秘(2) Blo ... -
java concurrent 探秘
2011-08-08 11:02 828java concurrent 探秘 我们都知道,在JD ... -
one-to-one 一对一主键关联映射_单向
2011-08-03 17:22 1337one-to-one 一对一主键关联映射_单向 一对一主键关 ... -
JavaScript验证正则表达式大全
2011-07-27 17:18 934上篇文章《JavaScript验证正则表达式大全》说的是jav ... -
JavaScript验证正则表达式大全
2011-07-27 17:17 842JavaScript验证正则表达式大全 JavaScript验 ... -
js 收集1
2011-01-14 09:49 10741.javascript的数组API Js代码 ... -
struts 核心解析
2010-12-03 14:25 2467一、概述 Struts2的核心是一个Fil ... -
Java类库中的集合类解析
2010-11-29 16:05 1098这篇我准备从源码的高度来看看集合中各个实现类的是如何组织我们存 ... -
总结和对比一下(jboss,tomcat,jetty)容器的classloader机制
2010-11-29 14:58 1999总结和对比一下(jboss,tomcat,je ... -
jboss,tomcat,jetty 容器的classloader机制
2010-11-29 14:53 4602背景 前段时间一直在做应用容器的迁移,将公司的应用 ... -
Session,Cookie,jsessionid和Url重写
2010-11-29 12:55 1940Session,Cookie,jsessionid ... -
DWR work
2010-11-25 18:14 902这段时间较闲,研究了一 ... -
CXF jaxws spring configuration
2010-11-19 16:27 1608最近在cxf-zh中有人问及了有关Spring配置CXF Cl ... -
线程安全总结2
2010-11-17 16:48 830站内很多人都问我,所谓线程的“工作内存”到底是个什么东西? ... -
java线程安全总结1
2010-11-17 16:47 902最近想将java基础的一些 ...
相关推荐
随着OSGi(Open Services Gateway Initiative)风格的类加载机制逐渐流行,以及新的Java模块和类加载规范的出现,JBoss对自身的类加载层进行了重构,以适应这些新的需求。在JBoss Microcontainer中,类加载层扮演着...
JBOSS配置详解 JBOSS是一种流行的Java应用服务器,具有强大的配置功能。在这篇文章中,我们将详细介绍JBOSS的配置,包括下载和安装、目录结构、配置文件等。 一、下载和安装JBOSS 首先,我们需要下载JBOSS的安装...
jboss配置入门 jboss系统是一种基于Java的应用服务器,具有高性能、可扩展、安全性强等特点。在本文中,我们将对jboss的基本配置进行介绍,包括其文件夹结构、配置文件、负载均衡配置等。 jboss文件夹结构 jboss的...
【标题】:“MyEclipse中配置JBoss” 在IT行业中,MyEclipse是一款深受开发者喜爱的集成开发环境(IDE),尤其对于Java EE项目开发来说,它提供了强大的支持。而JBoss则是一个开源的应用服务器,广泛用于部署和管理...
JBoss篇:安装与配置 一、安装与配置 在本文中,我们将下载和安装 JBoss 4.2.1.GA 版本。下载地址为 http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=16942&release_id=523619。下载完成...
JBoss是一款著名的开源Java应用...总之,JBoss的热部署配置涉及修改配置文件、选择合适的部署目录和类加载器策略,以及可能使用辅助工具。正确配置后,开发者可以高效地测试和调试应用程序,而不必频繁地重启服务器。
JBoss 服务器是一款...以上就是关于JBoss服务器配置的详细说明,包括设置JMX控制台的身份验证、启动和关闭服务器的步骤,以及如何更改数据库连接和端口设置。理解并掌握这些配置对于管理和维护JBoss服务器至关重要。
本文将深入探讨如何在MyEclipse中配置JBoss服务器,以及相关参数的含义。 首先,配置JBoss服务器在MyEclipse中的步骤如下: 1. **安装JBoss**:确保已下载并安装了JBoss服务器。将其解压到合适的目录,例如`C:\...
[Packt Publishing] JBoss AS 7 配置部署管理教程 (英文版) [Packt Publishing] JBoss AS 7 Configuration, Deployment and Administration (E-Book) ☆ 出版信息:☆ [作者信息] Francesco Marchioni [出版机构...
Jboss 安装配置指南 本指南旨在指导用户安装和配置 Jboss 中间件,包括数据库产品的安装、初始化数据库、Jboss 中间件的安装和配置服务。以下是详细的安装和配置步骤: 一、数据库产品的安装 在安装 Jboss 之前,...
Apache+Jboss(Tomcat)集群配置是一种常见的高可用性和负载均衡解决方案,它通过在前端部署Apache服务器,中间层配置多个Jboss或Tomcat应用服务器,后端连接统一的数据库来实现系统的扩展性和稳定性。以下是配置这个...
### JBoss配置虚拟路径详解 在企业级应用服务器领域,JBoss AS(Application Server)作为一款开源的Java应用服务器,提供了强大的平台支持多种Java EE应用的部署与运行。虚拟路径的配置是JBoss中一项非常实用的...
本文详细介绍了如何安装、配置以及部署应用程序到 JBoss 7.1.1 Final 版本上。通过这些步骤,你可以为即将到来的高并发访问做好充分准备。同时,通过允许通过 IP 地址访问,还可以方便地在局域网内进行测试和调试。...
在JBoss 7及以上版本中,对EJB的配置过程相较于之前的版本有所变化,主要涉及到两个关键的配置文件:`jboss-ejb3.xml`和`ejb-jar.xml`。 `ejb-jar.xml`文件是EJB模块的标准配置文件,遵循Java EE规范。在这个文件中...
本文将详细介绍如何进行JBoss的基本配置,包括控制台登录窗口的设置、连接数据库以及端口的调整等内容。 #### 一、控制台登录窗口设置 在JBoss中,默认提供了一个管理控制台——`jmx-console`,用于远程管理和监控...
### 第六章 JBoss数据源的配置与使用详解 #### 一、概述 在Java企业级应用开发中,JBoss AS (Application Server) 是一款非常流行的开源应用服务器,它提供了强大的容器服务支持,包括EJB容器、Web容器等。本章节...
JBOSS log4j 配置 Log4j 是一个功能强大且灵活的日志记录工具,广泛应用于 Java 项目中。然而,在 JBOSS 服务器中使用 Log4j 时,可能会遇到一些冲突和配置问题。本文将详细介绍如何解决 JBOSS 和 Log4j 的冲突,...
该文档还会详细说明如何通过调整JBoss EAP 6.1的配置来提升应用性能,包括但不限于JVM参数设置、数据库连接池优化、以及服务器级别的性能调优。 ### 知识点七:故障排除 在企业应用运行过程中,故障排除是不可避免...
在IT领域,特别是Java应用服务器环境下,JBoss与MySQL数据库的集成是常见需求之一,而JNDI(Java Naming and ...这一过程不仅加深了对JBoss配置机制的理解,也为构建高可用、高性能的企业级应用奠定了坚实的基础。
jboss下c3p0数据库配置加密,解密,只需引入jar包即可实现配置文件的加密解密。web程序lib目录和jboss下lib目录都要引入封装的jar包,将旧的jar包替换