微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的 Java 应用程序中 Jar 文件访问的高争用

如何解决我的 Java 应用程序中 Jar 文件访问的高争用

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

在大约 400-500 条消息/秒的情况下,我们遇到了性能不佳的问题,并在 JMS 队列上积压了积压。

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

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

任何可能导致问题的提示

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。