web-applications - Websphere 类加载

标签 web-applications jvm websphere classloader

我们在 Websphere 应用程序服务器 7 中部署了一个应用程序。它在各种环境中部署和运行。但它在一个新环境中给出了一个方法未找到的异常。深入挖掘后,我们发现 2 个 jar 中存在一个特定的类,而“错误”jar 中的类正在新环境中加载。我浏览了详细的类加载器 View ,其中 jar 的加载顺序有所不同。

在进一步调查中,jar 文件在每个 env 中的加载顺序似乎存在随机差异。

2个问题:

1) WAS 类加载策略依赖于哪个因素以及纠正问题的任何建议?

2)更一般地,当我们在任何java程序的类路径中指定假设*.jar时,任何JVM如何加载jar?喜欢它是按字母顺序还是根据时间修改或任何此类文件属性?

最佳答案

在 WAS 下安装 Web 应用程序时,您可以在该应用程序的选项中设置类加载策略(或在服务器/节点级别全局设置)

如果策略选项是(搜索)“父级第一”/“父级最后”和每个应用程序或每个 war 一个类加载器。默认为“父级优先/ war ”。如果您的网络应用程序随附了它需要的所有 jar,那么您最好将策略设置为“父级/应用程序”。此外,如果您编辑 web.xml 以反射(reflect)更改,请确保设置“使用二进制配置”,否则它将始终使用安装期间存储的内容。

关于web-applications - Websphere 类加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1910454/

相关文章:

java - 如何在 Tomcat 中读取我的 webapp 上下文之外的属性文件

iphone - 如何在 iPhone 的 HTML5 网络应用程序中实现固定的标题和动画(如幻灯片)(如 Google Music 所做的那样)?

java - 编辑 Java Web 应用程序

java - WebSphere Application Server JVM 参数未被正确读取

java - JVM Garbage Collector 在运行数小时后突然消耗 100% CPU

java - JSF 应用程序的 Websphere 单点登录

java - 在 Jgroups 中使用自定义线程池和执行器

eclipse - "PKIK path building failed"尝试使用 WAS 8 插件从 Eclipse 3.6 中的 github 克隆 repo

javascript - 从浏览器建立任意 TCP 连接

java - JVM 能够从循环内提升 Java 流吗?