1

Is it possible to deploy an JCA Connector as an OSGI Bundle in GlassFish like it works with EJBs?

Best regards

4

1 回答 1

0

这不是 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 适配器的功能,这可能毫无意义”。

于 2014-11-06T12:55:33.910 回答