随笔-200  评论-148  文章-15  trackbacks-0

1 基本信息

摘要:Jboss中如果类和和资源放在不同的war包中,却想在不同的应用间何共享WAR包中WEB-INF/classes和WEB-INF/lib中的资源,能否做到哪?

作者:刘相 

2 解决方案

  通常如果希望在Jboss不同应用之间共享类和资源,我们应将类和资源放在jboss/server/default/lib/下面,这样所有的应用可以共享资源;

  如果类和和资源放在不同的war包中,却想在不同的应用间何共享WAR包中WEB-INF/classes和WEB-INF/lib中的资源,能否做到哪?

  可以通过jbossweb-tomcat-55.sar/META-INF/jboss- service.xml配置文件中配置属性UseJBossWebLoader来解决该问题,只要将该属性设置为true:表示表示Tomcat使用 JBoss的统一类加载器作为Web应用的类加载器这意味着WAR包中WEB-INF/classes和WEB-INF/lib目录里的类将被加载到缺省 的共享类加载器仓库中。通过它,可以实现类和资源在Web应用之间共享。但是,如果这不是你想要的情况,可以通过将该属性设置为false来避免这种行 为。

  1. <attribute name="UseJBossWebLoader">true</attribute>

  通常情况下应该避免使用这种情况,因为当不同的应用中拥有同样的类和资源的时候,不同应用之间会产生冲突;举例如下:

  两个war应用 WarA,WarB下面均有com.primeton.a.class文件;

  现在期望每个War包下面分别用各自的a.class文件,当修改一个WarA的应用时候,tomcat会重新部署以下应用。这个时候,就会出现WarA应用使用WarB下面的a.class,造成混乱。

转载,其实这个功能我一直在用,但还是在这里备份一下,并共享给大家。
posted on 2007-12-03 10:09 无声 阅读(366) 评论(0)  编辑  收藏 所属分类: 职场生活

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问