使用 Blueprint Container 规范构建 OSGi 应用程序
2009-11-26 00:00:00 来源:WEB开发网简介
OSGi 框架为开发模块化的动态应用程序提供了良好的机制,它最近正变得十分流行。最新的 OSGi Service Platform Release 4 V4.2 规范包括了一个名为 Blueprint Container 的规范。
Spring 动态模块
如果熟悉 Spring 框架的话,您将注意到 Spring 和 Blueprint Container 规范之间有许多相似点。Blueprint 规范的基础恰好是 Spring Dynamic Modules 项目。
Blueprint Container 规范为 OSGi 定义了一个 依赖性注入(dependency injection)框架。它的目的是处理 OSGi 的动态特性,即服务可以在任何时间变得可用和不可用。该规范的另一个意图是处理普通旧 Java 对象(POJO),这样相同的对象就可以用于 OSGi 框架的内部和外部。定义并描述应用程序各个组件的 Blueprint XML 文件对 Blueprint 编程模型十分重要。规范描述了组件如何被实例化,以及如何相互连接在一起形成一个可以运行的应用程序。
Blueprint Container 规范使用了一个扩展器(extender)模式,借助这种模式,扩展器包监视框架中的包的状态,并根据这些包的状态为它们执行操作。Blueprint 扩展器包等待包被激活,然后检查它们是否是 Blueprint 包。如果一个包包含一个或多个 Blueprint XML 文件,那么它就被认为是 Blueprint 包。这些 XML 文件位于一个 OSGI-INF/blueprint/ 目录下的某个固定位置,或者在 Bundle-Blueprint 清单头部中显式指定。
一旦扩展器确定某个包是 Blueprint 包后,它将为这个包创建一个 Blueprint Container。这个 Blueprint Container 负责完成以下操作:
- ››使用脚本恢复WinXP系统的用户登录密码
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
- ››使用 WebSphere Message Broker 的 WebSphere Tra...
- ››使用SQL Server事件探查器做应用程序的性能分析
- ››使用SQL Server事件探查器分析死锁原因
- ››使用纯文本文件打造WCF服务
- ››使用 Dojo 开发定制 Business Space 小部件,第 4...
- ››使用 ADDRESS 与 INDIRECT函数查询信息
- ››使用 COLUMN函数编制单元信息
更多精彩
赞助商链接