Apache Karaf到底是什么?


Answers:


65

TLDR:Apache Karaf更加“含电池”。它也可以在任何OSGI运行时上运行。

Apache Felix(这是OSGi 4.2框架的实现)

有点。Apache Karaf可以使用Apache Felix。Apache Karaf也可以使用Equinox或其他OSGi运行时。默认情况下,Apache Felix附带了Apache Karaf标准下载。

Apache Aries(这是蓝图标准的实现)

再说一遍。默认情况下,Apache Aries随附了标准下载的Apache Karaf。

现在让我们讨论一下什么是OSGI(Apache Felix,Equinox)以及什么是Apache Karaf:

OSGI非常简单。您可以在应用程序中启动OSGI运行时,甚至不会注意到它。Shell,从文件夹进行热部署,从Maven存储库安装等功能,这些都是OSGI不需要做的事情,由Karaf,GOGO或Pax等其他项目提供

现在到Apache Karaf:

它基本上是一个OSGI环境,除了标准OSGI实现之外,还提供了一些其他好处。因为Apache Karaf仅基于标准OSGI构建,所以理论上它可以在任何OSGI运行时上运行。这为您提供了用于OSGI运行时的统一界面。

一些优点Apache Karaf提供了一些其他工作,您将不会在Apache Felix中看到它们:

  • 基于文件夹的热部署
  • (IMHO)比gogo更好的默认控制台。(org.apache.karaf.shell)
  • 对该控制台的远程SSH访问。(org.apache.karaf.shell.ssh)
  • 集中式日志记录系统。(org.apache.karaf.log)
  • 它有自己的供应包和启动级别的方式。(org.apache.karaf.features)
  • Karaf也有自己的Maven插件。

这里几乎所有内容:

http://mvnrepository.com/search.html?query=org.apache.karaf *

我提到Karaf拥有自己的供应包和启动级别的方式。Apache Karaf还附带了许多预定义的入门指南。我知道Apache Felix也通过OBR附带了一些东西,但是Apache Karaf附带了更多的“含电池”。


32

Apache Karaf是瑞士军刀,用于运行OSGi“东西”和捆绑为OSGi的非OSGi东西。

Felix和Aries是默认设置,但是框架是可插拔的,因此春分同样适用。

  • 可通过CLI或SSH访问“类Unix”外壳
  • 捆绑包的热部署
  • 可以将几乎所有内容打包为一个捆绑包(普通.jar,spring xml,blueprint等)
  • WAR文件
  • 从maven部署-包括自动包装非OSGi捆绑包。
  • 网络控制台
  • Karaf功能-“ .kar文件”,包括捆绑包和自定义karaf功能/命令。

附带说明的是,Karaf是ServiceMix的一部分(初始名称为ServiceMix内核),因此它与Apache Camel,Apache CXF和Apache ActiveMQ紧密集成。将Karaf转变为具有这些功能的ESB是微不足道的。


0

Apache Karaf只是一个OSGi框架(可以是Equinox,felix .etc),带有一堆预定义的模块。

Apache Karaf架构: apache karaf建筑


Karaf不是OSGi框架。这是一个OSGi运行时环境。而且我认为“一堆预定义的模块”对提出这个问题的人没有帮助!
pedram bashiri

我认为Apache Karaf概述很清楚。Apache Karaf是一组捆绑软件(模块),它包含一个OSGi框架(由基本osgi捆绑软件(核心)导出的一组工具,以供其他捆绑软件使用)
春季极客,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.