【问题标题】:Websphere applications loaded jars - classpath conflict - MQ server upgradeWebsphere 应用程序加载 jars - 类路径冲突 - MQ 服务器升级
【发布时间】:2020-12-13 16:12:17
【问题描述】:

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

【问题讨论】:

  • 您运行的是什么版本的 WAS,请提供所有四位数。您是否还可以找出在您获得 2059 时队列管理器 AMQERR01.LOG 中记录的错误。我也肯定任何 WAS v8 都将与高于 7.5 的 MQ 版本不兼容。此外,在大多数情况下,您会使用资源适配器 (rar) 而不是 jar。
  • @Shakti Kumar 正如 JoshMc 所说,Websphere Application Server v8.x 包含一个 IBM MQ 资源适配器 (RA) 以支持已部署的 JMS 应用程序。 This doc 解释了 RA 的角色及其配置。您不需要将 MQ 客户端 jar 与您的应用程序捆绑在一起。
  • WAAS 8.5 为版本

标签: java websphere ibm-mq


【解决方案1】:

根据之前的尝试和错误尝试进行回答尝试:

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

点击可以查看加载的类

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

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

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

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

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

并重新启动服务器。




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

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

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

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

还有

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多