近日, Eclipse Virgo 项目发布了 3.0 版,完成了 Spring DM server 项目到 Eclipse 的过渡。此次发布还解决了最后一个难题,Gemini Web 组件,它现在通过了所有针对 WAB 部署的 OSGi 企业测试。
Eclipse Virgo 提供了一个类似于 Tomcat 的运行时环境,可以安装 bundle 与 bundle 集(PARs),并将其当作是服务端应用。Virgo 使用了 region 的概念,可以将用户安装的程序(user region)与 Virgo 运行时空间(kernel region)分开。
之前,这种划分是通过嵌套框架强制进行的,但最近得到了更新,能够支持 bundle digraph ,它使用了 Equinox 实现来提供分区。由于是 Equinox 的一部分,因此它能够用在 Virgo 外部,使用普通的基于 Equinox 的 OSGi 运行时;当其他 OSGi 框架能够支持新的解析器时,它也能移植到其他 OSGi 运行时上。
此次发布的另一个新特性就是提供了一个 bundle,该 bundle 提供了 Web 组件的 Jetty 支持(虽然 Tomcat 支持也包含进来了)。这样就实现了与 Equinox RT 栈中其他组件更紧密的支持。
默认情况下,运行时已经从 Felix 切换到了 Equinox,这么做的目的在于实现 region 划分。然而,这一点可能并不为人所知,因为在默认情况下,Virgo 已经包含了 Felix Gogo shell(用于 telnet 与 ssh 连接)。
与服务器一样,有一个名为 snaps (之前叫做 SpringSource slices)的 Web 应用框架,它允许 URL 重叠的 Web 应用一起托管在同一个 Web 服务器上,并且可以共享一些数据。WABs(符合 OSGi 的 WARs)可以将服务与 URLs 注册到“托管”应用中,你可以编程的方式(或是使用 JSP 标签库)让该托管应用动态遍历可用的已安装组件。目前,snaps 需要使用 Eclipse Virgo 才能运行。支持 Eclipse Virgo 的大量 IDE 插件目前正处在开发当中。
希望进行基于Web 的OSGi 开发以及了解过众多Spring 概念的开发者会发现通过Eclipse Virgo 可以轻松过渡到OSGi 世界中。感兴趣的读者可以阅读该教程以及用户与开发者文档。你可以现在就下载 Virgo 3.0。
查看英文原文: Eclipse Virgo 3.0 Released
评论