Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 访问META-INF/weblogic-application.xml_Java_Jakarta Ee_Weblogic - Fatal编程技术网

Java 访问META-INF/weblogic-application.xml

Java 访问META-INF/weblogic-application.xml,java,jakarta-ee,weblogic,Java,Jakarta Ee,Weblogic,我需要重构一个现有的jar,以便在WebLogic11c和12c下工作。代码需要java角色到LDAP组映射的完整细节,如META-INF/weblogic-application.xm中所示。我寻求一个好的机制来检索这些信息 一些细节: jar不是一个EJBJAR,由于接口无法更改,我无法控制它在应用程序中的使用方式(它是一个adrop,用于替代其他库) 这意味着我不能注入EJB上下文 这也意味着我没有连接到可用的JMX mbean树(需要配置信息) 我想要的东西,适用于多个应用程序,所有部

我需要重构一个现有的jar,以便在WebLogic11c和12c下工作。代码需要java角色到LDAP组映射的完整细节,如META-INF/weblogic-application.xm中所示。我寻求一个好的机制来检索这些信息

一些细节:

  • jar不是一个EJBJAR,由于接口无法更改,我无法控制它在应用程序中的使用方式(它是一个adrop,用于替代其他库)
  • 这意味着我不能注入EJB上下文
  • 这也意味着我没有连接到可用的JMX mbean树(需要配置信息)
  • 我想要的东西,适用于多个应用程序,所有部署为耳朵
  • 我想要一些能在快速交换和分解目录布局中幸存下来的东西
  • 我想要一些尽可能经得起未来考验的东西
  • 当从WAR文件调用时,它需要与从EJBJAR文件调用时一样工作
  • 它需要在WebLogic 11c、12c下运行,并且尽可能具有未来的可靠性
目前,我使用以下策略:

  • 使用getClass().getResource(我自己)检索指向我的代码的URL
  • 放下jar:前缀和关联!标记
  • 通过目录树向上扫描,直到找到包含META-INF/weblogic-application.xml的文件夹
  • 如果找到->读取和分析/否则->投诉和崩溃

这似乎是可行的,但我希望找到一种不那么黑客的方法,要么访问xml文件,要么查询执行jar的托管服务器(但没有配置连接参数的手段)

这个问题非常类似:。它有一些有趣的答案。@罗伯特:谢谢。基本上,他们直接使用getResourceAsStream,或者要求web层提供路径。这两种方法在我的情况下都不起作用,不幸的是,将功能放在EJB jar中,而只委托给通过JNDI查找获得的服务,这有什么关系?@SirRotN我不能更改接口,也不能将我的jar声明为EJB jar。@SirRotN:对不起,我误解了你。这是一个有趣的想法,但这意味着要么部署一个额外的本地EJB,要么知道哪个远程服务器包含EJB。我真的不知道我的代码将在哪些服务器或程序中使用。即便如此,我还是会考虑这个。也许这会带来一个完整的解决方案