JBoss类隔离
这几天,项目组在部署JBOSS时遇到不少问题,都是由于JBOSS的类装载问题引起,特发表一篇BLOG详细说一下JBOSS的类隔离机制。
?
在部署应用到JBoss服务器时,通常见到的问题就是应用所带的jar包与容器自己的jar包版本不同导致的冲突,以及应用间jar包导致的冲突,JBOSS提供两种隔离机制:
部署包之间的隔离覆盖JBoss Server的类的隔离对于这两种隔离,通常是修改部署文件来进行,以下进行说明:
?
?
部署包之间的隔离机制
对于.ear部署包,我们应该修改jboss-app.xml如下:
<server> <loader-repository> com.example:archive=unique-archive-name <loader-repository-config>java2ParentDelegation=false</loader-repository-config> </loader-repository> ...??EAR or WAR的类将按照以下顺序装载:
WEB-INF/lib (for WARs)server/default/lib下的jar包tomcat的jar包server/default/deploy/jbossweb-tomcatxxx.sar,与server/default/lib将混合在一起,不区别顺序。?