追加したユーザーは T.Yamamoto です。最後に編集したユーザーは T.Yamamotoで、その日時は 2009-12-23 20:05:43 です。

GroovyをOSGiサービスとしてロードする

Groovyのjarファイルは、正しいOSGiメタデータ付きでリリースされています。したがって、Eclipse EquinoxやApache FelixのようなどんなOSGi対応コンテナにもロードすることができます。このメタデータは、jarファイルのMANIFEST.MFファイルを見れば確認することができます。例えば、Jarのmanifestには以下のような行が含まれているかもしれません:

Bundle-Version: 1.7.0
Export-Package: groovy.text;version="1.7.0.beta-1-SNAPSHOT",groovy.xml;
    version="1.7.0.beta-1-SNAPSHOT",groovy.util;version="1.7.0.beta-1-SNA
    PSHOT",groovy.lang;version="1.7.0.beta-1-SNAPSHOT",groovyjarjarcom...

これは、OSGiコンテナに対して、このJarがバージョン1.7.0であることや、指定されているパッケージ群が他のコンポーネントからのインポートのために提供されていることなどを宣言しています。

以下の例は、すべてEclipse Equinoxコンテナを使っています。Equinoxはインターネットからダウンロードするか、Eclipseのインストールによって入手可能です。

OSGiコンテナにGroovy Jarをインストールし起動するには、以下のステップを実行してください:

コンソールモードでOSGiコンテナを起動します:

java -jar org.eclipse.osgi_3.4.0.v20080605-1900.jar -console

次のようなOSGiコンソールプロンプトが表示されるはずです:

osgi>

"ss"コマンドを使えば、いつでもコンテナのシステムステータスを見ることができます:

osgi> ss

Framework is launched.

id State Bundle 0 ACTIVE org.eclipse.osgi_3.4.0.v20080605-1900

"install"と、groovy-all jarへのfile URLを使って、Groovy jarファイルをインストールします:

osgi>install file:///home/user/dev/groovy-core/target/dist/groovy-all-1.7-beta-1-SNAPSHOT.jar
   Bundle id is 10

バンドルにコンテナがidを割り当てます。"start"コマンドを使ってバンドルを起動します:

osgi> start 10

"ss"を使って、バンドルが起動されていることを確認します:

osgi> ss

Framework is launched.

id State Bundle 0 ACTIVE org.eclipse.osgi_3.4.0.v20080605-1900 10 ACTIVE groovy-all_1.7.0.beta-1-SNAPSHOT

"package"コマンドを使って、Groovyバンドルが提供するすべてのパッケージの一覧を見ることができます:

osgi>packages 10
groovy.xml.streamingmarkupsupport; version="1.7.0.beta-1-SNAPSHOT"<file:///home/user/dev/groovy-core/target/dist/groovy-all-1.7-beta-1-SNAPSHOT.jar [10]>groovyjarjarantlr.actions.java; version="1.7.0.beta-1-SNAPSHOT"<file:///home/user
...
子ページ 追加

©2008-2009 grails.jp