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

标签 java jakarta-ee glassfish osgi

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

但是在企业外 war 的情况下,我觉得有点困难。

  1. 我如何处理来自 在未来的 OSGI war 中?够了吗 用真正的 JNDI 替换 @EJB 注入(inject) 查找?
  2. API 和库呢? 跨 EAR 共享?我可以 split 和 重新排列它们,但我仍然会 双方至少需要一个 jar EAR 和 OSGI 之战。复制,制作它 作为 OSGI-bundle 本身并制作它 以某种方式可供耳朵使用,将其放置 GF 域的库路径?
  3. 任何其他想法、建议 让这种混合动力发挥作用?

最佳答案

这里有一些尝试:

  • 无需通过 JNDI 查找替换 @EJB。您的 @EJB 甚至在您的 OSGi War(又名 WAB)中也将继续工作。
  • 您可以将共享库安装为一个包,然后它对 OSGi war 和遗留 EAR/WAR 都是可见的。

我建议您在 GlassFish forum 中跟进.

关于java - 将 EAR 模块转换为 OSGI 包的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4704729/

相关文章:

java - Joda setJulian 非法参数异常

java - 无法删除或更新父行 - Java

jakarta-ee - Java EE EJB 拦截器

java - REST API 和 Glassfish 中的 JSON 响应

java - 从地理坐标到地磁坐标的转换

java - 让 Wicket AjaxButton 与浏览器自动完成功能配合使用

jakarta-ee - Java EE 7 : Get @Schedule date when is set to persistent = true

dependency-injection - Java EE 6 : Switching to CDI - Best resources

java - GreeterEJB 和 GreeterLibrary 之间的依赖关系的本质是什么?

eclipse - 如何在 Eclipse 中使用 glassfish 适配器进行热部署