我对Apache Karaf究竟是什么感到有些困惑。
你能否说Apache Karaf包括以下内容:
答案 0 :(得分:60)
TLDR:Apache Karaf更多'包含电池'。它也可以在任何OSGI运行时运行。
Apache Felix(OSGi 4.2框架的实现)
排序。 Apache Karaf可以使用Apache Felix。 Apache Karaf也可以使用Equinox或其他OSGi运行时。默认情况下,Apache Karaix会附带Apache Karaf标准下载。
Apache Aries(蓝图标准的实现)
再次,有点。默认情况下,Apache Aries的标准下载确实附带了Apache Aries。
现在让我们来谈谈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中看到:
这里几乎有什么:
http://mvnrepository.com/search.html?query=org.apache.karaf *
我提到了Karaf有自己的方式来配置捆绑和启动级别。 Apache Karaf还附带了一系列预先定义的开始。我知道Apache Felix也有一些,通过OBR,但Apache Karaf更多的是“电池包含”。
答案 1 :(得分:29)
Apache Karaf是一个瑞士军刀,用于运行OSGi“东西”和非OSGi捆绑为OSGi的东西。
Felix和Aries是默认的,但框架是可插拔的,所以equinox也可以。
附注是Karaf是ServiceMix的一部分(初始名称是ServiceMix内核),因此它与Apache Camel,Apache CXF和Apache ActiveMQ紧密集成。将Karaf变成具有这些功能的ESB是微不足道的。
答案 2 :(得分:-1)