启用使用 Java EE 7 技术的 OSGi 应用程序
可以启用使用关键 Java™ 平台企业修订版 (Java EE) 7 技术的 OSGi 应用程序。WebSphere® Application Server Liberty V8.5.5.6 及更高版本是可用于生产的服务器,已通过 Java EE 7 完整平台认证。
为了实现零迁移,将创建新功能部件,并且原有功能部件保持不变。例如,添加 servlet 3.1 的支持后,创建了 servlet-3.1 功能部件,并且保留了 servlet-3.0 以确保行为对于现有服务器部署保持不变。
在 Java EE 7 支持之前的环境中,您需要配置 blueprint-1.0(或依赖于它的某个对象),然后才能部署 OSGi 应用程序。这样,您就已配置特定于 OSGi 的其他功能部件(例如 wab-1.0)或通用功能部件(例如 jpa-2.0)以获取其他功能。
在 Java EE 7 环境中,OSGi 配置通过两个步骤执行:
- 确定您是否希望部署 OSGi 捆绑软件。
- 确定您希望使用哪些技术来实现这些 OSGi 捆绑软件。
使服务器了解您希望部署 OSGi 捆绑软件
第一步是向 server.xml 添加 osgiBundle-1.0 功能部件:
<featureManager>
<feature>osgiBundle-1.0</feature>
</featureManager>
添加 osgiBundle-1.0 功能部件使 OSGi 捆绑软件可作为 OSGi 应用程序的一部分部署。使服务器了解您希望使用哪些组件模型
与具有特定于 OSGi 的功能部件(例如 wab-1.0)不同,您现在配置一些组件模型,这些模型与您为 Java EE 配置的组件模型相同。此配置支持在捆绑软件中使用 Servlet,例如 Web 应用程序捆绑软件或 HTTP 白板 Servlet:
<featureManager>
<feature>osgiBundle-1.0</feature>
<feature>servlet-3.1</feature>
</featureManager>
有关更多信息,请参阅 OSGi Web 应用程序捆绑软件和 OSGi HTTP 白板。此服务器配置将添加在持久性捆绑软件中使用 jpa-2.1 的功能。
<featureManager>
<feature>osgiBundle-1.0</feature>
<feature>servlet-3.1</feature>
<feature>jpa-2.1</feature>
</featureManager>
有关更多信息,请参阅使用 Java Persistence API 访问数据。(可选)您还可以包含 blueprint-1.0:
<featureManager>
<feature>osgiBundle-1.0</feature>
<feature>servlet-3.1</feature>
<feature>jpa-2.1</feature>
<feature>blueprint-1.0</feature>
</featureManager>