11

OSGiベースのアプリケーションでコンポーネントを構成するためのプライマリAPIとして構成管理サービスを使用することを検討しています。既存の実装を再利用できればいいので、最も人気のある実装を調査して評価しようとしています。私はあることを知っています:

考慮すべき他の実装はありますか?

また、これらの実装に関する適切なドキュメントを見つけることができませんでした。私は主に実装固有の詳細に興味があります。たとえば、さまざまな実装が構成データをどのように永続化するのか疑問に思っていました(たとえば、複数のプロパティファイル?XMLファイル?複数のXMLファイル?データベース?、...)。

4

3 に答える 3

7

Felixの構成管理者には、ファイルシステムに永続化するデフォルトの実装がありますが、代わりにプラグインできる代替バックエンドのサービスインターフェイス(org.apache.felix.cm.PersistenceManager )を定義します。

デフォルトの実装は次のことを行います。

FilePersistenceManagerクラスは、特定のディレクトリ内のファイルなどのプロパティに構成データを格納します。すべての構成ファイルは同じディレクトリにあります。

構成ファイルは、構成のPIDに拡張子「.config」を追加することによって構成ディレクトリに作成されます。PIDは、囲まれたドットをスラッシュに置き換えることにより、相対パス名に変換されます。PID内の非記号名文字は、16進数のUnicode文字コードでエンコードされます。

于 2009-05-27T14:03:31.830 に答える
6

私が知っている3つの公開実装は

EquinoxのConfigurationAdminサービスの実装は、Felixのように永続性ポリシーの微調整をサポートしていないようであり、Knopflerfishの実装はEquinoxの実装と似ています(ソースを簡単に読んだだけです)。

Felixのものは、最も最近更新され、最も信頼できるようです。

現在、私が見つけることができるのはこれらだけです。dm Serverでは、Felixのバンドルを使用することを決定しました。これは、SpringSource EnterpriseBundleRepositoryから入手できます。ここでまたはをすばやく検索できApache FelixますConfigAdmin

于 2009-06-01T15:37:58.543 に答える
1

答えをさらに完成させるために:私は個人的にもFelixの実装を好みます。PersistenceManagerを使用してバックエンドでストレージが発生する方法を変更する方法の例については、標準のJavaプロパティファイルをバッキングストレージとして使用するこの実装も参照してください。いくつかの制限がありますが、少なくとも、OSGiフレームワークの実装とは別に、アプリケーションとともに構成を保存することができます。

于 2013-12-01T12:14:14.923 に答える