GlassFish V3 Prelude と OSGi
用意するもの
まず、GlassFish V3 Prelude をインストールします。今回は例として glassfish-v3-prelude-ml.zip を私のホームディレクトリ /home/shioda で展開(unzip)します。すると、/home/shioda/glassfishv3-prelude に GlassFish がインストールされます。
% cd /home/shioda % unzip glassfish-v3-prelude-ml.zip次に /home/shioda/glassfishv3-prelude/glassfish ディレクトリで eclipse-equinox-3.4.zip を展開します。
% cd /home/shioda/glassfishv3-prelude/glassfish % unzip eclipse-equinox-3.4.zipすると、eclipse Equinox のファイルが eclipse ディレクトリの下にインストールされます。 次に config.ini ファイルを /home/shioda/glassfishv3-prelude/glassfish/eclipse/configuration ディレクトリにコピーします。
% cd /home/shioda/glassfishv3-prelude/glassfish/eclipse % mkdir configuration % cd configuration % cp ~/config.ini /home/shioda/glassfishv3-prelude/glassfish/eclipse/configuration設定の最後として、config.ini ファイルの最初の数行を GlassFish のインストールディレクトリに合わせて変更します。その前に UNIX 上で config.ini ファイルを開くと、改行コードが異なるために編集しにくい場合もあるので、改行コードを変更してしまいましょう。
% cat config.ini | tr "[\r]" "[\n]" > config.ini.newそしてエディタで config.ini.new の以下の3つの行を環境に合わせて変更します。
# GlassFish required properties com.sun.aas.installRoot=/home/shioda/glassfish-v3-prelude/glassfish/ com.sun.aas.instanceRoot=/home/shioda/glassfish-v3-prelude/glassfish/domains/domain1/ # HK2 OSGi Adapter property org.jvnet.hk2.osgiadapter.contextrootdir=/home/shioda/glassfish-v3-prelude/glassfish/modules私の場合は C: となっているところを /home/shioda に書き換えただけです。そして、config.ini.new を config.ini に rename してください。
% mv config.ini config.ini.orig % cp config.ini.new config.iniこれで準備はほぼ終了です。実行する場合は環境変数 GlassFish_Platform に Equinox を設定します。C Shell の場合は次のようにします。
% setenv GlassFish_Platform Equinoxそして、GlassFish を起動します。
% /home/shioda/glassfishv3-prelude/bin/asadmin start-domain --verbose警告メッセージが出てきますが、これは既知の問題点です。本当に動いているかどうか確認するには http://localhost:8080/ にアクセスしてみてください。 今回私は Solaris 上で動かしましたが、ブログの記事は Windows 上で動かしているようですし環境依存の部分もなさそうですから他の環境でも動くだろうと思います。ぜひ皆さんもお試しください。 また、他の OSGi 環境上で動かせるようであればぜひ GlassFish チームにレポートしてあげてください。