我对Apache Karaf到底是什么有些困惑。
您能否说Apache Karaf除其他外包括:
- Apache Felix(这是OSGi 4.2框架的实现)
- Apache Aries(这是蓝图标准的实现)
我对Apache Karaf到底是什么有些困惑。
您能否说Apache Karaf除其他外包括:
Answers:
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中看到它们:
这里几乎所有内容:
http://mvnrepository.com/search.html?query=org.apache.karaf *
我提到Karaf拥有自己的供应包和启动级别的方式。Apache Karaf还附带了许多预定义的入门指南。我知道Apache Felix也通过OBR附带了一些东西,但是Apache Karaf附带了更多的“含电池”。
Apache Karaf是瑞士军刀,用于运行OSGi“东西”和捆绑为OSGi的非OSGi东西。
Felix和Aries是默认设置,但是框架是可插拔的,因此春分同样适用。
附带说明的是,Karaf是ServiceMix的一部分(初始名称为ServiceMix内核),因此它与Apache Camel,Apache CXF和Apache ActiveMQ紧密集成。将Karaf转变为具有这些功能的ESB是微不足道的。