我需要重构现有的 jar 以在 weblogic 11c 和 12c 下工作。该代码需要 java 角色到 LDAP 组映射的完整详细信息,如 ear META-INF/weblogic-application.xm 中所示。我寻求一种好的机制来检索这些信息。
一些细节:
- 该 jar 不是 EJB jar,因为接口无法更改,我无法控制它在应用程序中的使用方式(它是其他库的替代品)。
- 这意味着我不能注入 EJB 上下文。
- 这也意味着我没有连接到可用的 JMX mbean 树(需要配置信息)
- 我想要适用于多个应用程序的东西,所有应用程序都部署为耳朵。
- 我想要一些能够在快速交换和爆炸式目录布局中幸存下来的东西
- 我想要一些尽可能未来的证据
- 从 WAR 文件和 EJB jar 文件调用时,它都需要工作
- 它需要在 WebLogic 11c、12c 下运行,并尽可能合理地证明未来
现在,我使用这个策略:
- 使用 getClass().getResource(myself) 检索我的代码的 URL
- 删除 jar: 前缀和关联的 ! 标记
- 向上扫描目录树,直到找到包含 META-INF/weblogic-application.xml 的文件夹
- 如果找到 -> 读取并解析。/ 否则 -> 抱怨并崩溃
这似乎可行,但我希望通过访问 xml 文件或通过查询执行 jar 的托管服务器(但无法配置连接参数)来发现一种不那么 hackish 的方法