`
agapple
  • 浏览: 1585708 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jboss classloader加载机制

    博客分类:
  • java
阅读更多

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实例是一对多的关系。

 

写道
There are two levels of scoping, isolation from other deployments, and isolation that overrides the loading of JBoss server classes. With nested modules, only the top level file may specify class loader scoping. If you have a .ear file containing other modules, only scoping specified in the .ear 's META-INF/jboss-app.xml is used. This also applies for any other deployment which contains sub-deployments. For example, if a .sar contains a .war deployment, only the .sar META-INF/jboss-service.xml scoping has effect.

 意思是说,scope配置只能是顶级下的配置,比如一个.sar中包含.war都配置了scope,只有.sar下的 META-INF/jboos-service.xml才有效。

 

META-INF/jboos-service.xml 参数配置:

<!-- Get the flag indicating if the normal Java2 parent first class
           loading model should be used over the servlet 2.3 web container first
           model.
      -->
      <attribute name="Java2ClassLoadingCompliance">false</attribute>
      <!-- A flag indicating if the JBoss Loader should be used. This loader
           uses a unified class loader as the class loader rather than the tomcat
           specific class loader.
           The default is false to ensure that wars have isolated class loading
           for duplicate jars and jsp files.
      -->
      <attribute name="UseJBossWebLoader">false</attribute>

 配置UseJBossWebLoader为false,则webapp的加载通过独立于jboss的classloader进行加载。

 

WEB-IN/jboss-web.xml , 两种配置方式:

<class-loading java2ClassLoadingCompliance='true'>
       <loader-repository> 
             dot.com:loader=unique-archive-name
             <loader-repository-config>
                 java2ParentDelegaton=true
             </loader-repository-config>
      </loader-repository> 
 </class-loading>

 

或者

<class-loading java2ClassLoadingCompliance='true'></class-loading>

 

   

对于第一种配置,webapp将使用JBoss隔离的UCL作为Classloader,并且是否是parent load模型是由其中的java2ParentDelegaton参数决定,java2ClassLoadingCompliance='true'属性将被忽略。

java2ParentDelegaton='true'或者'false'决定了是否采用parent first/child first模型。

分享到:
评论

相关推荐

    jboss 5 原理 2 classloader

    JBoss has always had a unique way of dealing with classloading, and the new classloading layer that comes with Microcontainer is no exception (keep in mind that you can use Microcontainer without ...

    关于JBoss5加载项目的完整过程以及相关错误解决

    很详细的介绍Jboss5.1在上传war项目时出错解决方案以及一些技巧,不敢自大,内容实在!

    Jboss项目部署文档

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

    在jboss上部署web应用

    JBoss完全实现了J2EE的服务栈: EJB (Enterprise JavaBeans) JMS (Java Message Service) JTS/JTA (Java Transaction Service / Java Transaction API) Servlet and JSP (JavaServer Pages) JNDI (Java Naming and ...

    JBOSS,JBoss安装部署

    JBOSS,JBoss安装部署 JBOSS,JBoss安装部署

    JBoss启动 JBoss启动

    JBoss启动JBoss启动JBoss启动JBoss启动JBoss启动JBoss启动JBoss启动JBoss启动 JBoss启动

    JavaEE源代码 jboss-common

    JavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-...

    JBOSS log4j 配置

    jboss和log4j冲突配置及log4j配置.doc

    jboss7ejb配置文件

    jboss7以上版本发布ejb时需要的配置文件,jboss-ejb3.xml和ejb-jar.xml,缺少csdn分数所以上传,请见谅。

    jboss 下载(httpwww.jboss.org)

    jboss 下载(httpwww.jboss.org)

    jboss学习资料/JBOSS使用指南

    JBOSS使用指南JBOSS使用指南JBOSS使用指南JBOSS使用指南JBOSS使用指南JBOSS使用指南JBOSS使用指南JBOSS使用指南

    jboss-exp.rar

    某大牛写的jboss-exp 1. 查看系统名称 java -jar jboss_exploit_fat.jar -i http://192.168.7.84:10081/invoker/JMXInvokerServlet get jboss.system:type=ServerInfo OSName 2. 查看系统版本 java -jar jboss_...

    jboss安全性 jboss设置安全性

    帮你设置jboss安全性问题。Jboss安全设置 jboss安全性 jboss设置安全性Jboss安全设置 jboss安全性 jboss设置安全性

    Jboss启动报Failed to parse WEB-INFweb.xml; - nested throwable错误

    * 尝试重新部署应用程序,以便让Jboss重新加载配置文件。 结论 Jboss启动报Failed to parse WEB-INF/web.xml; - nested throwable错误是一种常见的错误,解决方案是检查web.xml文件中的配置,确保所有的标签都正确...

    jboss-logging-3.3.2.Final-API文档-中文版.zip

    赠送jar包:jboss-logging-3.3.2.Final.jar; 赠送原API文档:jboss-logging-3.3.2.Final-javadoc.jar; 赠送源代码:jboss-logging-3.3.2.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.3.2.Final....

    jboss热部署,jboss热部署

    jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署

    如何在MyEclipse配置Jboss

    如何在MyEclipse配置Jboss

    jboss-threads-3.1.0.Final-API文档-中文版.zip

    赠送jar包:jboss-threads-3.1.0.Final.jar; 赠送原API文档:jboss-threads-3.1.0.Final-javadoc.jar; 赠送源代码:jboss-threads-3.1.0.Final-sources.jar; 赠送Maven依赖信息文件:jboss-threads-3.1.0.Final....

    jboss rules 用户指南(中文)

    之前学习jboss rules 只能自己一点点的啃英文用户指南,后来终于找到了中文版的翻译版本,真是高兴,立即奉献给大家,让对规则引擎感兴趣的朋友也能一堵为快。 内容摘要:JBoss Rules 的前身是Codehaus的一个开源...

Global site tag (gtag.js) - Google Analytics