本文来自tiger888的博客,原文标题为《JBoss类隔离》。
在网站建设、成都做网站中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联公司专业成都网站建设十载了,客户满意度97.8%,欢迎成都创新互联客户联系。
这几天,项目组在部署JBOSS时遇到不少问题,都是由于JBOSS的类装载问题引起,特发表一篇BLOG详细说一下JBOSS的类隔离机制。
在部署应用到JBoss服务器时,通常见到的问题就是应用所带的jar包与容器自己的jar包版本不同导致的冲突,以及应用间jar包导致的冲突,JBOSS提供两种隔离机制:
1. 部署包之间的隔离
2. 覆盖JBoss Server的类的隔离
对于这两种隔离,通常是修改部署文件来进行,以下进行说明:
部署包之间的隔离机制
对于.ear部署包,我们应该修改jboss-app.xml如下:
- com.example:archive=unique-archive-name
对于.war部署包,在jboss-web.xml中定义如下:
- com.example:archive=unique-archive-name
在JBoss 4.2.1中
- com.example:archive=unique-archive-name
在.sar部署包中,在jboss-service.xml定义如下:
- com.example:archive=unique-archive-name
示例中,com.example:archive=unique-archive-name代表jar仓库的对象名objectName ,其中,com.example可以随意取,unique-archive-name 就用部署包的名字即可,例如com.example:archive=helloworld.sar,保证这一串唯一即可。而com.example将出现在JMX-Console (http://localhost:8080/jmx-console/)列出的节点上(每个节点为一个LoaderRepository domain:jar参考的域概念,其实就是一个所有jar容器仓库的分组概念)
对于部署包内内嵌了其他部署包,只有最上层的部署描述配置才起作用,例如:
.ear中包含了.sar和.war,这只有.ear中的META-INF/jboss-app.xml 中定义的隔离范围才会起作用。
.sar中包含了.war,则只有.sar META-INF/jboss-service.xml中定义的隔离范围才起作用
覆盖JBoss Server的类的隔离
对于jboss-app.xml:
- com.example:archive=unique-archive-name
- java2ParentDelegation=false
对于jboss-web.xml:
- com.example:archive=unique-archive-name
java2ParentDelegation=false - ...
jboss-service.xml:
- com.example:archive=unique-archive-name
java2ParentDelegation=false - ...
#t#EAR or WAR的类将按照以下顺序装载:
1. WEB-INF/lib (for WARs)
2. server/default/lib下的jar包
3. tomcat的jar包server/default/deploy/jbossweb-tomcatxxx.sar,与server/default/lib将混合在一起,不区别顺序。
网站名称:JBoss的两种类隔离机制配置说明
文章网址:http://www.shufengxianlan.com/qtweb/news39/2939.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联