web-dev-qa-db-ja.com

OSGi:Apache FelixとApache Karafの違いは何ですか?

Apache KarafApache Felix のサブプロジェクトです。 「軽量のOSGiコンテナー」として定義されています。

いつヘビー級を使うべきか、いつ軽量級を使うべきかはわかりません。彼らのサイトはこれについてあまり説明していません。

122
GabiMe

「軽量OSGiコンテナー」ラベルは、より多くの機能が豊富なOSGiコンテナーと比較して Karafnot with Felix

Guillaume Nodet(Karafの著者) をここから引用するには

Felixは単なるOSGiコアランタイムです。 Karafは、コンソール、SSHリモーティングメカニズム、ファイルデプロイヤなどのその他の機能を追加することにより、Felixに基づく「配布」を提供します。

このKarafアーキテクチャの図では、Felix(または他のOSGi実装-現在 Equinox もサポートされています)がOSGiボックスであり、他のボックスはKarafによって追加された機能です。

Karaf Architecture したがって、Karafが満たさない特定のニーズがない限り(基礎となる実装へのアクセスが必要)、通常はこれを使用する方が理にかなっています。

204
Matthew Murdoch

@Marcel Karafは、Java EEサーバー。構成ファイルなどを実際に読み取ることができます。最新のZipファイルは19.1 MBです。

あなたが考えているのは、コア/カーネルとしてKarafを使用するServiceMixのようなものです。ただし、CXF、ActiveMQ、Camel、およびその他のライブラリは完全な構成で含まれています。それでも、最小サイズ、中サイズ、フルサイズがあります。

実際、そこにあるプロジェクトの99%については、Felixから直接開始し、代わりにKarafを使用しないのは理にかなっていないでしょう。

5
Ranx0r0x