【问题标题】:Is there something like the Weblogic filtering classloader for Websphere是否有类似 Websphere 的 Weblogic 过滤类加载器的东西
【发布时间】:2011-08-24 17:25:27
【问题描述】:

我想使用 Filtering Classloader 之类的东西来防止特定包潜入应用程序上下文并被 Spring 可见。

更改类加载器顺序会导致各种讨厌的问题,所以我想试试这条路线。

是否可以使用 Websphere 6 实现这一点?如果没有,我可以替换我自己的应用程序类并自己实现过滤器吗?

【问题讨论】:

    标签: java spring websphere filtering classloader


    【解决方案1】:

    WebSphere 中没有这样的过滤机制,也没有办法替代应用程序类加载器。抱歉,您必须使用 PARENT_LAST 来覆盖类。

    【讨论】:

      【解决方案2】:

      bkail 的回答是对的,WAS 即使在最新的公开版本(8.5.5)中也没有这个功能。

      我刚刚创建了一个请求此类功能的 RFE,因此任何对此感兴趣的人,请投票支持它,这可能会增加实现此功能的可能性: http://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=43936 (需要 IBM ID)

      与此同时,您可以使用独立的共享库来覆盖任何特定的类(上面提到的类加载顺序控制 - 如 parent_last - 过于粗糙,因为它会影响整个应用程序或模块的类加载顺序) 在类路径上创建一个包含所需 jar 的共享库,将其配置为独立的共享库,从已部署的应用程序(或模块)中引用它。 有关完整文档,请参见此处 http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/topic/com.ibm.websphere.base.doc/ae/tcws_sharedlib.html

      【讨论】:

        【解决方案3】:

        我正要发布同样的问题。但答案很不满意。然而,我在 IBM developerworks 上检查了 Petr H 的请求,IBM 确实实现了这个功能(非常感谢 Petr!):

        “WebSphere Application Server V8.5.5.7 (=Fixpack 7) 获得了防止来自服务器类加载器的包对应用程序可见的能力。这在文档 "ISOLATE DEPLOYED ARTIFACTS FROM OSS PACKAGES" 中提供,并在 'Isolating open source software packages' 中记录。

        提供的链接通过配置always-protected packages 来描述机制。您基本上必须执行以下操作:

        1. 在管理控制台的服务器设置页面上的服务器基础结构下,单击 Java 和进程管理 > 进程定义。
        2. 选择 Java 虚拟机。
        3. 在 JVM 通用参数部分定义以下系统属性,如下所示: -Dcom.ibm.ws.classloader.server.alwaysProtectedPackages=org.bouncycastle. 请不要说最后一个点“。”真的很重要,否则一切都会被忽略!几个包可以用逗号“,”添加
        4. 单击应用、确定并保存更改。确保在重新启动服务器之前完成文件同步。重新启动 WebSphere Application Server 以使更改生效。
        5. 检查 native_stdout.log 并找到之前定义的系统属性。例如,当您指定始终受保护的包 org.bouncycastle. 时,可能会出现如下语句: ProtectionMetaData.clinit: system property: com.ibm.ws.classloader.server.alwaysProtectedPackages=org.bouncycastle.

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-10-12
          • 1970-01-01
          • 2021-09-29
          • 2016-10-17
          • 2016-08-02
          • 2013-07-30
          • 2018-08-24
          相关资源
          最近更新 更多