该样本演示如何在捆绑软件的蓝图文件中声明服务,这使应用程序中的其他捆绑软件可以对其进行访问。该 OSGi 应用程序由一个 OSGi Web 捆绑软件组成,该捆绑软件包含用于访问另一个捆绑软件项目中提供的服务的 Servlet。该应用程序运行在 WebSphere® Application
Server 上。此样本介绍如何使用 OSGi 应用程序开发工具。
提示: 您可以在 WebSphere Application
Server V7.0、V8.0 和 V8.5 上运行此样本。
了解有关安装 WebSphere Application Server V7.0 版本的更多信息: 要在 WebSphere Application Server V7.0 上运行此样本,必须安装 Feature Pack for OSGi Applications
and Java™ Persistence API 2.0。要安装该功能部件包,请执行下列操作:
- 打开 IBM® Installation Manager。
- 单击安装。这样会打开“安装程序包”页面。
- 在软件包列表中,选择 IBM WebSphere Application
Server V7.0 测试环境,然后单击下一步。
- 阅读许可协议。接受许可协议,然后单击下一步。
- 遵循 Installation Manager 中的指示信息来安装
WebSphere Application Server
V7.0。
- 在“功能部件”列表中,请确保选择了 IBM
WebSphere Application Server V7.0 Feature Pack for OSGi Applications
and Java Persistence API 2.0 下面的 OSGi 应用程序。
了解有关安装 WebSphere Application Server V8.0 版本的更多信息: 要在 WebSphere Application Server
V8.0 上运行此样本,您必须安装服务器:
- 打开 IBM Installation Manager。
- 单击安装。这样会打开“安装程序包”页面。
- 在软件包列表中,选择 IBM WebSphere Application Server V8.0,然后单击下一步。
- 阅读许可协议。接受许可协议,然后单击下一步。
- 遵循 Installation Manager 中的指示信息来安装
WebSphere Application Server
V8.0。
了解有关安装 WebSphere Application Server V8.5 的更多信息: 要在 WebSphere Application Server V8.5 上运行此样本,必须安装服务器:
- 打开 IBM Installation Manager。
- 单击安装。这样会打开“安装程序包”页面。
- 在软件包列表中,选择 IBM WebSphere Application Server V8.5,然后单击下一步。
- 阅读许可协议。接受许可协议,然后单击下一步。
- 遵循 Installation Manager 中的指示信息来安装 WebSphere Application Server V8.5。
要将 OSGi 计数器应用程序部署至服务器,请执行下列操作:
- 在“企业资源管理器”中,展开 。
- 右键单击 CounterServlet,然后选择。这时,“在服务器上运行”对话框将打开。
- 从服务器列表中单击 WebSphere Application Server,然后单击完成。
字符串 greet.getText()=0 Hello World! 将显示在浏览器中。每次重新装入该页面,该值都会增加。
切换至“控制台”视图()以查看来自服务器的输出。根据蓝图文件中
CounterImpl、
GreetImpl 和
WorldImpl Bean 的初始化方法条目,成功的结果将显示来自
CounterImpl.init()、
GreetImpl.init() 和
WorldImpl.init() 的输出:
[7/21/10 11:42:18:109 EDT] 0000002f StepStartBLA A CWWMH0300I: Starting business-level application "WebSphere:blaname=CounterApp".
[7/21/10 11:42:19:421 EDT] 0000002f webapp I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: Loading Web Module: CounterWebBundle.
[7/21/10 11:42:19:515 EDT] 0000002f WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: Will create a new session context for application key default_host/CounterWebBundle
[7/21/10 11:42:19:531 EDT] 0000002f webcontainer I com.ibm.ws.wswebcontainer.VirtualHost addWebApplication SRVE0250I: Web Module CounterWebBundle has been bound to default_host[*:9080,*:80,*:9443,*:5060,*:5061,*:443].
[7/21/10 11:42:19:593 EDT] 0000002f StepStartBLA A CWWMH0196I: Business-level application "WebSphere:blaname=CounterApp" was started successfully.
[7/21/10 11:42:19:640 EDT] 0000001d SystemOut O WorldImpl.init() called.
[7/21/10 11:42:19:640 EDT] 00000032 SystemOut O CounterImpl.init() called.
[7/21/10 11:42:19:687 EDT] 00000032 SystemOut O GreetImpl.init() called.
注: 如果来自 CounterImpl.init()、GreetImpl.init() 和 WorldImpl.init() 的输出未显示在控制台输出中,请检查应用程序部署或启动期间错误消息的输出,然后在蓝图文件中检查 Bean 和服务定义中可能存在的错误。