我有些困惑Apache Karaf到底是什么。
您可以说Apache Karaf包括以下内容,但不限于:
- Apache Felix(这是OSGi 4.2框架的实现)
- Apache Aries(这是Blueprint标准的实现)
我有些困惑Apache Karaf到底是什么。
您可以说Apache Karaf包括以下内容,但不限于:
简述:Apache Karaf提供了更多“一插即用”的功能。它也可以在任何OSGI运行时上运行。
Apache Felix(这是OSGi 4.2框架的实现)
有点像。 Apache Karaf可以使用Apache Felix。 Apache Karaf还可以使用Equinox或其他OSGI运行时。默认情况下,Apache Karaf标准下载包含Apache Felix。
Apache Aries(这是蓝图标准的实现)
同样如此。 Apache Karaf的标准下载默认包含Apache Aries。
现在让我们谈谈什么是OSGI(Apache Felix,Equinox)以及什么是Apache Karaf:
OSGI非常简单。您可以在应用程序中启动OSGI运行时,甚至不会注意到它。 shell,从文件夹热部署,从maven repo安装等等。这些都是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还提供了一系列预定义的组件,供初学者使用。我知道通过OBR,Apache Felix也带有一些组件,但是Apache Karaf更加“即插即用”,内置更多功能。
Apache Karaf是一个瑞士军刀,用于运行打包成OSGi的"东西"和非OSGi事物。
Felix和Aries是默认的框架,但框架是可插拔的,因此Equinox也可以工作。
需要注意的是Karaf是ServiceMix的一部分(最初的名称是ServiceMix kernel),因此它与Apache Camel、Apache CXF和Apache ActiveMQ紧密集成。通过这些功能将Karaf转换为ESB很简单。