OSGi: 在应用服务器中访问Java EE

3
我开始研究OSGi,并同意这是一种前进的方式,因为它只需要按照bundle规范打包你的东西就能提供极大的可扩展性。然而...我的要求是,目前我有我的Java运行时和一些服务,这些服务使用Java EE服务,如JCA和JMS服务器,在应用服务器(如jBoss、WebLogic、GlassFish和WebSphere)中处理请求...我想将我的服务制作并部署为OSGi bundles...但是有没有办法可以从我的OSGi容器中访问Java EE资源呢?否则,我必须将所有东西(我的运行时、Web客户端等)都包装成OSGi bundles,但出于以下原因,我想避免这样做:
  1. 这将需要很长时间
  2. 我将失去所有不希望失去的Java EE功能
  3. 看起来像是从头开始编写和测试所有内容。
我搜索了很多,但找不到任何解决方案,所有关于这个问题的帖子都至少有3年的历史了。有人能指导我正确的方向,并指给我一些在这个领域的最新进展吗?
如果您需要更多信息,请告诉我。
5个回答

1

1
如果你搜索“企业OSGi”,你可能会有更多的运气并得到一些更多的想法。许多主要的应用服务器,包括WebSphere、Glassfish和JBoss现在都支持OSGi和Java EE组件之间的集成。其中一个选项是使用JNDI桥接器,它允许您使用JNDI查找您的OSGi服务。另一个选项是使用SCA将各种东西连接在一起。Apache Aries的SPI-fly项目还允许您将META-INF/services公开为OSGi服务。

1

0
SpringSource dm Server(简称dm Server)是SpringSource应用程序平台的运行时部分。它是一个轻量级、模块化、基于OSGi的运行时,为开发、部署和管理企业应用提供了完整的打包解决方案。通过利用多个最佳技术并加以改进,dm Server为开发和部署企业应用提供了令人信服的解决方案。
你可以在Spring页面获取更多信息。

0

GlassFish服务器是使用OSGi构建的,现在支持OSGi和Java EE服务之间的良好集成。它公开了访问Java EE服务作为OSGi服务的API,并且还支持所谓的混合应用程序包,您可以在其中无缝地使用OSGi服务在您的Java EE应用程序中。有关更多详细信息,请参阅此文档:

使用GlassFish进行OSGi开发


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接