OSGi 的 API 最初是依据 Java 1.1 平台设计的,所以使用了像 Directory 这样的旧类,而缺少一些 Java 语言的新特性,比如泛型。虽然这样可以让 OSGi 能运行在从高端超级计算机到低端移动电话的任何平台上,但当前应用开发(随着Java 1.4 的弃用)大部分都使用了Java 1.5、1.6 或者是1.7(或者随便市面上怎么称呼它们)。
因为这个缘故,已经有人开始进行试验性研究,以期提供一个新版的能支持泛型的OSGi 库。兼容性层(即所谓形实替换程序)的出现使得这样的研究成为可能,它能够在Java 5 变量和传统变量之间执行实时的转换。
Peter Kriens 和 BJ Hargrave 根据这一原型,在 JavaOne 2009 上做了 TS-4966 的发言,包括 OSGi 如何利用 Java 1.7 中会出现的 JSR 294 语言特性。虽然还处在研究阶段,但它将进一步推进 OSGi 的广泛应用。
评论