将EAR模块转换为OSGI包的正确方法

有必要将EAR的一部分(即 – war)转换为OSGI包并保持其互操作性。 Glassfish 3.0.1已经有了osgi-web-container模块,我成功地部署了独立的OSGI战争。

但是在前企业战争的情况下,对我来说看起来有点困难。

  1. 从未来的OSGI战争中我如何处理EJB调用? 是否足以用真正的JNDI查找替换@EJB注入?
  2. 在EAR中共享的API和库怎么样? 我可以拆分并重新安排它们,但是我仍然需要EAR和OSGI战争所需的至少一个jar子。 复制,使其成为OSGI-bundle本身,并以某种方式使其可用于耳朵,放置GF域的库路径?
  3. 任何其他想法,可以使混合动力工作的建议?

以下是一些可以尝试的方法:

  • 无需通过JNDI查找替换@EJB 。 你的@EJB甚至会在你的OSGi战争(又名WAB)中继续工作。
  • 您可以将共享库作为捆绑包安装,然后它将对OSGi war以及旧版EAR / WAR可见。

我建议你跟进GlassFish论坛 。