Apache Karaf 一周岁生日快乐

  • Alex Blewitt
  • 张龙

2011 年 6 月 27 日

话题:Java架构Apache语言 & 开发

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 VirgoEclipseRT packages,提供了预先配置的框架与好用的 OSGi bundle,这样在上手使用 OSGi 运行时时就会比以往更加简单。

查看英文原文:One Year of Apache Karaf

Java架构Apache语言 & 开发