OSGi 4.3 通过昨天发布的Felix Framework 4.0.0 被加入到到Apache Felix 项目中。这次发布的版本与之前版本之间的关键区别就在于它通过了OSGi 4.3 的兼容性测试。
OSGi 4.3 的发布为核心框架增加了对泛型的支持,这让我们可以访问类型安全的服务,而不需要执行类型转换。Equinox 3.7 在今年夏天发布的版本中已经实现了 OSGi 4.3 运行时,而 Felix 直到刚刚发布的版本才为 OSGi 4.3 提供支持。
它还带有解析和处理的 _ 功能 _,这是对 OSGi 永远都会拥有的 bundle 包的一般化处理。现在我们可以表达抽象依赖(像“必须有声明式服务的提供程序”),而不需要在特定的包中表达依赖关系。
此外,Equinox 和 Felix 现在都支持 OSGi 4.3_ 框架钩子程序(framework hooks),这就让我们可以放置过滤器,从而在二者之间隐藏 bundle 和服务。Eclipse Virgo 正是使用这种方式来创建区域图(region digraphs),由于对OSGi 4.3 API 的依赖,它现在只能够在Equinox 上运行。这为我们提供了一种创建嵌套或者组合式bundle 的机制,让OSGi 运行时能够有效地提供_ 多重租赁(multi tenancy)机制;换句话说,即作为多个应用程序的服务器,同时保持它们彼此独立。
最后,OSGi 4.3 运行时提供了一般的字节码工钩(byte-code weaver hook)。这让框架可以安装通用的对类进行重写的钩子程序(class re-writing hook),我们可以使用它来提供连接程序(hook-ups),像与事务管理器整合,或者支持一种有效的机制,用来与通过JPA 实现持久化的实体挂钩。
在Felix 的主站上已经提供了变更说明,你还可以从那里下载这个框架。
Felix Framework 4.0.0 还拥有对 Security Framework Provider 2.0 的实现,但是它并未通过兼容性验证。
评论