|
|
![]() |
|
|
GlassFish v3 がどのように OSGi をサポートしているのかについて、 Richard, Sahoo, Jerome その他の人たちの仕事、もしくは記事へのポインタを通じて、概要をお伝えします。 話は OSGi-core から始まります。 これは、カーネル、サービス、コンポーネント、といった用語がでてくる システムで利用されていますが、よい概要説明として、Jerome の JavaOne でのプレゼンテーション、 TS-4923 を載せておきます。 |
基礎的な配備については、Jerome の
GFv3 Extensions: Managed OSGi bundles
を参照下さい。
この記事では、どのように
asadmin deploy --type=osgi myosgibundle.jar
が OSGi バンドルを配備するか
(GFv3 がバンドルを OSGi フレームワークにインストール、起動し、一方で domain.xml に情報を記録するので、
asadmin list-components が OSGi バンドルが配備されたと表示する、というようなこと)
を説明しています。
配備されれば、
Felix Web Console を使って OSGi バンドルを閲覧することもできます。
同様の配備メカニズムを動かすには他の方法もあります。
Sahoo が書いた
Using filesystem operations to manage OSGi bundles in GlassFish
では、GF v3 がどのように Apache Felix の FileInstall を活用して、
autodeploy-bundles/ ディレクトリからの自動配備を実現しているか解説しています。
Jerome の次の 2 つの記事は、GF v3 の拡張機能で、アプリケーションが @Resource を使って OSGi サービスを参照できるようにするものについてです。 最初の記事、 GF v3 Extensions: Spring, Java EE 6 and OSGi では、そのサービスは Spring Bean で、Spring DM を使って OSGi サービスレジストリに公開されているもので、 次の記事、 GF v3 Extensions: OSGi Declarative Services では、単に標準の OSGi 宣言サービスを使っています。これは標準の GF v3 バンドルに b55 から入った機能 です。