9

Felix / Equinox を使用して、以下は内部で何をしますか?

osgi:install
osgi:refresh
osgi:resolve
osgi:restart
osgi:update

ステートマシン図またはより簡潔なドキュメントがどこかにありますか?

4

2 に答える 2

20

これに関する最適なドキュメントはOSGi Core Specificationです。以下のセクションとページ番号は、仕様のリリース 4.3 (2011 年 4 月) を参照しています。

osgi:installファイルまたはストリームからバンドルをインストールすることを意味BundleContext.installBundleし、API のメソッドにマップします。90 ページのセクション 4.4.3 を参照してください。

osgi:refresh「パッケージの更新」操作を実行します。これにより、一連のバンドルをインストールまたは更新した後にエクスポート/インポートを再配線できます。たとえば、パッケージの特定のエクスポーターに現在接続されているバンドルは、同じパッケージをエクスポートする新しくインストールされたバンドルに再接続される場合があります。セクション 7.6.1、ページ 148 を参照してください。

osgi:resolverefresh に似ていますが、現在 INSTALLED 状態にあるバンドルのみを接続します。つまり、すでに解決済み状態にあるバンドルに属する既存のワイヤは再配線されません。

osgi:restart特定のバンドルを停止して再起動します。これにより、バンドルの実装が更新されることはありません。単に停止して開始するだけです。91 ページの 4.4.5 セクションと 95 ページの 4.4.7 セクションを参照してください。

osgi:update単一のバンドルを更新するように要求します (つまり、元の場所から再ロードします)。これには、更新前の状態に応じて、バンドルの停止、再解決、および開始が含まれる場合があります。95 ページのセクション 4.4.9 を参照してください。

すべての OSGi バンドル状態の状態図は、セクション 4.4.2 (図 4.4) の 90 ページにあります。

于 2011-12-07T08:07:09.773 に答える
2

Felixシェルコマンドの機能の詳細については、http://svn.apache.org/repos/asf/felix/trunk/shell/src/main/java/org/apacheにあるソースコードを参照してください。 / felix / shell /impl/ -それらのほとんどは短くて単純です。

于 2011-12-07T14:25:53.050 に答える