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

发布于 2024-10-12 09:31:04 字数 391 浏览 6 评论 0原文

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

但如果是前企业战争,我觉得有点困难。

  1. 我该如何处理来自以下位置的 EJB 调用: 未来的OSGI战争?够了吗 用真正的 JNDI 替换 @EJB 注入 查找?
  2. API 和库怎么样 跨 EAR 共享?我可以分开并且 重新排列它们,但我仍然会 至少有一个双方都需要的罐子 EAR 和 OSGI 战争。复制,制作 作为 OSGI 捆绑自身并使其成为 以某种方式可以放在耳朵上,将其放置 GF域的库路径?
  3. 任何其他想法、建议都可以 让混合动力发挥作用?

There is a necessity to turn part of EAR (namely - war) into OSGI bundle and retain it's interoperability. Glassfish 3.0.1 already has osgi-web-container module and I succeeded to deploy standalone OSGI war.

But in case of of ex-enterprise war it looks a bit difficult to me.

  1. What do I do with EJB calls from
    inside future OSGI war? Is it enough
    to replace @EJB injections with true JNDI
    lookups?
  2. What about APIs and libraries
    shared across EAR? I could split and
    rearrange them, but still I will
    have at least one jar needed by both
    EAR and OSGI war. Duplicate, make it
    as OSGI-bundle itself and make it
    available to ear somehow, place it
    GF domain's library path?
  3. Any other ideas, advices which could
    make that hybrid working?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

逆夏时光 2024-10-19 09:31:04

以下是一些可以尝试的事情:

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

我建议您在 GlassFish 论坛 中跟进。

Here are a few things to try out:

  • No need to replace @EJB by JNDI lookup. Your @EJB will continue to work even inside your OSGi War (aka WAB).
  • You can install the shared library as a bundle, then it will be visible to both OSGi war as well as legacy EAR/WAR.

I suggest you follow up in GlassFish forum.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文