首页 > 解决方案 > Websphere 应用程序加载 jars - 类路径冲突 - MQ 服务器升级

问题描述

我们最近为 WebSphere 中的应用程序升级了 MQ 服务器。我们目前正在使用com.ibm.mq.allclient-9.1.0.2.jar与 MQ 服务器版本兼容的版本。然而,RC=2059;AMQ9503错误。相同的 jar 在 Jboss 服务器中运行良好,但在 Websphere 8X 版本中出现上述错误。我怀疑具有类似 jar 的 Websphere 运行时会导致此问题。我们的应用程序类加载器属性是“父加载器优先”,所以我什至尝试将这个 jar 定义为类路径中的启动 jar,即使这样也没有用。有没有办法检查加载到 Websphere 中的应用程序中的所有 jar?或者无论如何我可以解决这个问题?

标签: javawebsphereibm-mq

解决方案


基于以前的尝试和错误尝试的回答尝试:

有没有办法检查加载到 Websphere 中的应用程序中的所有 jar?

您可以通过单击查看加载的类

应用程序 > 企业应用程序 >(已部署的应用程序)> 管理模块 >(您的 Web 应用程序模块)> 类加载器查看器

这应该为您提供一个页面,您可以展开模块以查看其加载的类。如果您没有此视图,则可能必须通过将复选框设置为来激活类加载器查看器服务

服务器 > 应用程序服务器 >(您的应用程序服务器,可能是 server1)> 类加载器查看器服务。

或者,您也可以将类写入 native_stdout.log,方法是通过检查激活使用的类加载器的日志记录

应用程序服务器 > server1 > 进程定义 > Java 虚拟机,选项“详细类加载”

并重新启动服务器。




或者无论如何我可以解决这个问题?

您可以尝试将类加载顺序设置为“最后一个父级”以强制 websphere 首先加载您的 jar(如果尚未完成)。有多个地方有此设置,请参阅

应用程序 > +应用程序类型 > WebSphere 企业应用程序 >(部署的应用程序)> 类加载和更新检测

企业应用程序 >(已部署的应用程序)> 管理模块 >(您的 Web 模块),请参阅下拉菜单“类加载器顺序”

并且

应用程序服务器>(您的应用程序服务器,可能是 server1)> 类加载器策略“Single”,然后下拉“类加载模式”

(我希望这些选项或经验之一是有帮助的,其他选项可能包括将有问题的 jar 设置为共享库)


推荐阅读