gpt4 book ai didi

jakarta-ee - 设置类加载顺序以在 Java EE 应用程序中更喜欢应用程序类的缺点是什么

转载 作者:行者123 更新时间:2023-12-03 21:50:41 24 4
gpt4 key购买 nike

在我的 WebSphere 8 应用服务器上,默认的类加载顺序是 parent_first (尝试从应用服务器类加载器加载,然后才从 EAR 类加载器加载)。
这会在我的应用程序使用 Apache 的 HttpClient 和 WebSphere 的内部使用之间产生冲突。
我正在考虑将加载顺序切换为 parent_last (首选 WebLogic 中的 web-inf-classes)。

将 Java EE 应用程序类加载顺序翻转到 parent_last 时需要注意哪些陷阱?

最佳答案

应该没有。
PARENT_LAST允许您的应用程序分发类和 jar,否则会与 WebSphere 发生冲突。每当 ClassClassException 时都使用该设置当两个不同的不兼容类加载器加载 WebSphere AS 和您的应用程序中的类时,就会发生这种情况。

类加载器模式 - PARENT_FIRSTPARENT_LAST - 在 Class loaders in the WebSphere Application Server 8.0 Information Center 中描述.

人们倾向于在应用程序中捆绑 jar,这使得部署时间更长,内存消耗更高,(库)管理更难。

对于开发人员来说,将所有内容保存在应用程序中显然更容易,因此他们不必描述就共享库(或 OSGi 存储库)而言管理员必须设置的内容。

我想不出 PARENT_LAST 的情况除非我们假设在应用程序中分发 jars 是一件好事(我会争论这一点),否则会有所帮助。

应用程序中的 jar 越少越好:

  • 当通过共享库或 OSGi 存储库修复问题时,应用程序可以从升级其 jar 中受益,这将简化其维护
  • 应用程序可以共享库以降低内存期望并提高可重用性(显然部署变得更快)

  • 可能有更多理由不在应用程序中捆绑 jar,这会进一步减少 PARENT_LAST配置设置。

    坚持 PARENT_FIRST直到他们告诉你他们有理由转换,当它发生时你向他们展示答案;-)

    关于jakarta-ee - 设置类加载顺序以在 Java EE 应用程序中更喜欢应用程序类的缺点是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14355668/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com