Apache Felix Framework 4.0.0 增加了对 OSGi 4.3 的支持

  • Alex Blewitt
  • 侯伯薇

2011 年 9 月 28 日

话题:Java语言 & 开发架构

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 的实现,但是它并未通过兼容性验证。

查看英文原文:Apache Felix Framework 4.0.0 Adds OSGi 4.3 Support

Java语言 & 开发架构