0

我们开发一个基于 JMS 的应用程序,该应用程序从 JMS 队列接收 XML 格式的消息。该应用程序部署在 Weblogic 服务器 (12c) 上。

以大约 400-500 msgs/sec 的速率,我们正在经历糟糕的性能并在 JMS 队列上积累积压。

我尝试使用Java Mission Control对应用程序进行概要分析,在记录了系统一分钟的活动后,我发现 Weblogic 类加载器对 Zip (Jar) 文件的访问阶段存在很多争用。

当检测到争用时,我的 JMS MDB 执行的操作是使用 JAXB 解组 XML 文件内容。

关于什么可能导致问题的任何提示?

4

1 回答 1

4

一种可能是您对 JAXP 工厂方法(如 )进行重复调用XMLParserFactory.getInstance(),这涉及搜索类路径和检查 JAR 文件。这些方法仅在应用程序初始化时才被调用一次。(除了重用工厂之外,重用 XML 解析器本身也是有益的 - 无论如何,曾经是这种情况。)

于 2021-03-12T08:55:20.953 回答