6 月 17 日是 Apache Karaf 作为 Apache 顶级项目一周岁的生日。Karaf 是个运行时包,包含了一个OSGi 框架(Equinox 或Felix)、一个命令shell(Felix Gogo)及默认情况下内置的大量实用工具。
虽然Equinox 与Felix 可以单独使用,但Karaf 旨在结合这两个框架出色的OSGi 功能,并且保证其开箱即用。比如说,它包含了一个可配置的日志系统(基于Log4J,但针对众多通用的日志系统进行了包装)、通过SSH 实现的远程访问、通过ConfigAdmin(源代码位于etc 目录中)的配置以及内建的JAAS 支持。不仅如此,Karaf 还安装了 Pax URL 的 MVN 协议,这样就可以从 Maven 中央仓库(在必要的情况下会自动将其包装为 bundle)安装 bundle 了。
此外,Karaf 还提出了特性的概念,所谓特性就是 bundle 的集合,能以组的形式安装到运行着的 OSGi 运行时当中。特性包含了对 obr、jetty 以及 spring 的支持,做到了开箱即用。这样,如果需要安装多个 bundle,但这些 bundle 之间并没有严格的运行期依赖,那么这种支持就可以大大简化这种情况。
在迁移到 Apache Felix 项目中前 Karaf 是 ServiceMix Kernel ,并且最终成为了 Apache 的顶级项目。Karaf 还加入到了其他框架当中,如 Eclipse Virgo 和 EclipseRT packages ,提供了预先配置的框架与好用的 OSGi bundle,这样在上手使用 OSGi 运行时时就会比以往更加简单。
查看英文原文: One Year of Apache Karaf
评论