【问题标题】:How do I deploy a JCA connector as an OSGI bundle如何将 JCA 连接器部署为 OSGI 包
【发布时间】:2012-10-10 02:36:37
【问题描述】:

是否可以将 JCA 连接器部署为 GlassFish 中的 OSGI 包,就像它与 EJB 一起使用一样?

最好的问候

【问题讨论】:

    标签: jakarta-ee glassfish osgi jca


    【解决方案1】:

    这不是特定于 Glashfish 的答案,但由于我主要使用同样基于 OSGI 容器的 Jboss,我假设与 JBOSS 一样,在 Glashfish 中您可以编写自定义 OSGI 扩展并部署他们到容器。

    现在有几个关于 JCA 适配器的主题:

    • JCA 适配器的主要用途是连接到旧式后端,或便于使用不兼容的资源(自定义线程、侦听服务器套接字、文件 IO 等)。
    • 要根据功能(入站/出站、事务等)实现 JCA 适配器,您必须实现从几行到很多东西。
    • 预计 JCA 适配器的实现可以跨容器移植,可能免除几个部署描述符。
    • JCA 适配器部署为标准的“rar”EE 存档。

    现在我对 OSGI 的理解相当有限,但我知道的一两件事是:

    • 容器使用 OSGI 模块(包)按需加载组件,从而获得更好的启动时间。
    • 在容器内部,Web 服务器、servlet 引擎、数据源管理、事务等作为 OSGI 包连接在一起。
    • 您可以将自定义 OSGI 扩展部署到容器和/或将插件和扩展写入现有模块。

    所以从我的角度来看,我没有看到 OSGI 与 JCA 有太多功能重叠,我的回答是“从技术上讲,您不能将 JCA 适配器部署为 OSGI 包,因为它们遵循不同的合同并取决于特定 JCA 的功能适配器,这可能毫无意义”。

    【讨论】:

      猜你喜欢
      • 2011-10-08
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-12
      • 1970-01-01
      • 2012-09-05
      • 2013-03-09
      相关资源
      最近更新 更多