如何阻止 JBoss Web 应用程序间的类路径?

发布于 2024-10-15 03:30:38 字数 146 浏览 5 评论 0原文

我在同一服务器的 JBoss 中部署了两个 Web 应用程序。我观察到类路径在这两个网络应用程序之间共享。

那么如何防止应用程序之间的类路径共享。我的意思是,一个应用程序中可用的任何类和 jar 文件都不应该在 jboss 中同一服务器中的另一个应用程序中可见。

I have two web application deployed in JBoss within same server. I have observed classpath is shared between this two web applications.

So how do I prevent classpath saring between applications. I mean whatever classes and jar files available in one application should not be visible in another application in same server in jboss.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

虫児飞 2024-10-22 03:30:38

对于大多数版本的 jBoss AS,您需要更新 jboss-web.xml 文件:

<jboss-web>
   <class-loading> 
      <loader-repository>com.example:archive=unique-archive-name</loader-repository> 
   </class-loading>
</jboss-web>

请参阅以下参考以获取更多信息:

For most versions of jBoss AS you need to update your jboss-web.xml file:

<jboss-web>
   <class-loading> 
      <loader-repository>com.example:archive=unique-archive-name</loader-repository> 
   </class-loading>
</jboss-web>

See the following reference for more info:

断舍离 2024-10-22 03:30:38

JBoss wiki 指出:

在jboss-3.2.3中,
jbossweb-tomcat41.sar 配置为
使用统一的类加载器作为Web
应用程序类加载器。这是
UseJBossWebLoader 控制
属性中的
jbossweb-tomcat41.sar/META-INF/jboss-service.xml
描述符。使用统一类
loader 意味着类
可以在战争里面
WEB-INF/classesWEB-INF/lib
被合并到默认值中
共享类加载器存储库。这
可能不是你想要的,因为它
与默认的 servlet 2.3 相反
类加载模型并可能导致
之间共享课程/资源
网络应用程序。您可以禁用此功能
通过将此属性设置为 false。

它接着说这种行为在 4.0.2 中发生了变化,所以它合理的假设是您仍然需要在 4.0.1 中执行此操作。

The JBoss wiki states:

In jboss-3.2.3, the
jbossweb-tomcat41.sar is configured to
use a unified class loader as the web
application class loader. This is
controlled by the UseJBossWebLoader
attribute in the
jbossweb-tomcat41.sar/META-INF/jboss-service.xml
descriptor. The use of a unified class
loader means that the classes
available in the war inside of the
WEB-INF/classes and WEB-INF/lib
are incorporated into the default
shared class loader repository. This
may not be what you want as its
contrary to the default servlet 2.3
class loading model and can result in
sharing of classes/resources between
web applications. You can disable this
by setting this attribute to false.

It goes on to say that this behaviour was changed in 4.0.2, so it is a reasonable assumption that you still need to do this in 4.0.1.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文