首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置类加载顺序以选择Java应用程序中的app类的缺点是什么

设置类加载顺序以选择Java应用程序中的app类的缺点是什么
EN

Stack Overflow用户
提问于 2013-01-16 10:00:08
回答 2查看 1.9K关注 0票数 4

在我的WebSphere 8应用服务器上,默认的类加载顺序是parent_first (尝试从app服务器类加载器加载,然后从EAR类加载程序加载)。

这会在我的应用程序使用Apache的HttpClient和WebSphere的内部使用之间产生冲突。

我正在考虑将加载顺序切换到parent_last (WebLogic中的首选-web类)。

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

EN

回答 2

Stack Overflow用户

发布于 2013-01-17 10:49:40

不应该有。

PARENT_LAST允许您的应用程序分发类和jars,否则这些类和jars会与WebSphere的类发生冲突。当两个不同的不兼容的类加载器加载WebSphere和应用程序中的类时,就会使用该设置。

类加载器模式-- PARENT_FIRSTPARENT_LAST --用WebSphere应用服务器8.0信息中心中的类加载器描述。

人们倾向于将jars捆绑在应用程序中,从而使部署时间更长、内存消耗更高和(库)管理更加困难。

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

我想不出PARENT_LAST是有帮助的,除非我们假设在应用程序中分发jars是一件好事(我会反驳这一点)。

应用程序中的jars越少,越好:

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

可能有更多的理由不将jars捆绑在应用程序中,从而进一步减少PARENT_LAST配置设置。

坚持使用PARENT_FIRST,直到他们告诉你他们有理由切换,当发生这种情况时,您会告诉他们答案;-)

票数 2
EN

Stack Overflow用户

发布于 2013-01-17 13:41:38

来自Understanding the IBM Software Developers Kit (SDK) for Java > Class loading

委托模型通过使用与核心API相同的名称来防止来自不受信任源的代码替换受信任的核心API类。

因此,当应用程序由于版本不兼容而必须覆盖基类时,PARENT_LAST似乎是存在的,但是这样做也意味着它也会削弱安全性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14355668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档