如何将JCA连接器部署为OSGI捆绑包

时间:2012-10-19 13:07:44

标签: java-ee glassfish osgi jca

是否可以在GlassFish中将JCA Connector部署为OSGI Bundle,就像它可以与EJB一起使用?

祝你好运

1 个答案:

答案 0 :(得分:0)

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

现在有一些关于JCA适配器的主题:

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

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

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

从我的观点来看,我没有看到OSGI与JCA的功能重叠很多,我的回答是“从技术上讲,你不能将JCA适配器部署为OSGI捆绑包,因为它们遵守不同的合同并且取决于特定JCA的功能适配器,这可能毫无意义“。