将 OSGi 应用程序作为企业捆绑软件归档 (EBA) 资产导入,然后通过创建组合单元将该资产添加至业务级应用程序。 (可选)将组合捆绑软件扩展添加至组合单元。
准备工作
本主题假定您已创建打包为 EBA 文件的企业 OSGi 应用程序,例如,如 创建 OSGi 应用程序中所述。 您还可能已开发组合捆绑软件扩展,如 扩展已部署的 OSGi 应用程序中所述。
除了通过以下过程指定 EBA 资产的配置信息外,您还可以稍后对其进行更改,如 修改 OSGi 组合单元的配置中所述。 例如,如果您更新 EBA 资产中的捆绑软件或替换组合捆绑软件扩展,那么可能会引入需要其他配置的资源,例如新的或已更改的蓝图资源引用或安全角色映射。
有关此任务
要在
WebSphere® Application Server中部署 OSGi 应用程序,请将 OSGi 应用程序 (EBA 文件) 作为资产导入并创建空的业务级应用程序。 然后将组合单元添加到业务级应用程序。 此组合单元包含新 EBA 资产以及 OSGi 应用程序的上下文根、虚拟主机、安全角色映射和 Web 应用程序或“蓝图”资源绑定的配置信息。 此组合单元还可以包含组合捆绑软件扩展。
注:
- 只能将 EBA 文件导入到一个资产中。
- 只能将 EBA 资产添加到一个业务级别应用程序。
- 可将一个或多个组合捆绑软件扩展添加到组合单元。
业务级应用程序的作用域是单元,因此,只能在单元中部署 OSGi 应用程序的一个实例。
本主题描述将 OSGi 应用程序和任何组合捆绑软件扩展作为业务级应用程序部署的特定任务。 创建业务级应用程序中描述了创建任何业务级应用程序的更通用的任务。
可以使用管理控制台或 wsadmin 命令来完成每个步骤。 还可以使用编程来创建空的业务级应用程序或添加组合单元。
此任务的演示 (4 分钟) 
过程
- 将 EBA 文件作为资产导入。
注: 您可以在创建空的业务级应用程序之前或之后导入资产。 只能将 EBA 文件导入到一个资产中。
要使用管理控制台导入 EBA 文件,请浏览至 。 有关更多信息,请参阅 导入资产。
要使用
importAsset 命令导入 EBA 文件,请输入以下命令(示例):
AdminTask.importAsset(["-storageType", "FULL",
"-source", com.ibm.ws.eba.helloWorldService.eba])
有关将资产导入配置的更多信息,请参阅 使用 wsadmin 脚本编制设置业务级应用程序。
注:
- 将 EBA 文件作为资产导入时,将检查其是否具有任何捆绑软件依赖性。 如果 OSGi 应用程序对未包含在 EBA 文件中的捆绑软件具有依赖性,那么将针对任何已配置的捆绑软件存储库解析这些依赖性。 仅当从已配置捆绑软件存储库中提供了所有缺少的依赖性后,才可完成资产注册。
- 资产注册完成后,如果资产需要从捆绑软件存储库下载捆绑软件,那么将显示一条警告消息,指示您在完成资产导入后将更改保存至主配置。 保存更改后,将从已配置的捆绑软件存储库下载缺少的依赖性。
- 如果资产使用 Java™ 2 安全性,那么将显示安全许可权。 此信息来自应用程序的 META-INF/permissions.perm 文件。 有关更多信息,请参阅 Java 2 安全性和 OSGi 应用程序。
- 在完成捆绑软件下载之前,不要将资产添加到业务级应用程序。 您可以通过管理控制台或调用 BundleCacheManager MBean 的 areAllDownloadsComplete () 方法查看捆绑包的下载状态。 请参阅 与 OSGi 捆绑软件高速缓存交互。
- 创建空的业务级应用程序。
要使用管理控制台创建空的业务级应用程序,请浏览至 。有关更多信息,请参阅 使用控制台创建业务级应用程序。
要使用
createEmptyBLA 命令创建空的业务级应用程序,请输入以下命令(示例):
AdminTask.createEmptyBLA('[-name "helloWorld"
-description "helloWorld OSGi sample"]')
有关更多信息,请参阅 使用 wsadmin 脚本编制设置业务级应用程序中有关创建空业务级应用程序的步骤。
要使用编程创建空的业务级应用程序,请参阅 使用编程创建空的业务级应用程序。
- 将 EBA 资产作为组合单元添加到业务级应用程序。
只能将 EBA 资产添加到一个业务级别应用程序。 OSGi 组合单元由一个 EBA 资产、(可选)一个或多个组合捆绑软件扩展以及下列某些或全部配置信息组成:
- 从组合单元到目标应用程序服务器、Web 服务器或集群的映射。
- 应用程序的会话管理器、上下文根或虚拟主机的配置。
- 从企业 bean 到 JNDI 名称的映射。
- 至任何相关联的 Web 应用程序或蓝图资源引用的绑定。
- 从安全角色到特定用户或组的映射。
要将资产作为组合单元添加至业务级应用程序,请使用下列其中一种方法:
- 可选: 将组合捆绑软件作为扩展添加到组合单元。
将 OSGi 应用程序的企业捆绑软件归档 (EBA) 文件作为资产导入后,可以更新现有捆绑软件的版本,但无法将额外的捆绑软件添加到该资产。 然而,在将资产作为组合单元添加到业务级别应用程序后,可以通过将一个或多个组合捆绑软件添加到组合单元来扩展该业务级别应用程序。
- 将更改保存到配置库。
如果要使用 wsadmin 命令,请输入以下命令:
AdminConfig.save()
下一步做什么?
现在,您已准备好启动业务级应用程序。