GlassFishの監視ツール、LightFishを使ってみる
今日はLightFishの紹介です。
GlassFishの監視ツールであるLightFishがリリースされました。
LightFishはJava Championの一人である、Adam Bien氏によって開発されています。興味深いのは、監視ツールのGUIがJavaFXで実装されていること。JavaFXのサンプルとしてもいい材料なのではないでしょうか。
というわけで、早速LightFishの導入を行なってみましょう。
サーバ側の準備
まずは、GlassFishにLightFishをDeployします。今回は以下の環境で試してみます。
ここで注意ですが、GlassFishはWeb ProfileではなくFull Platformを使用します。*1 *2
またLightFish本体のwarファイルを、こちらからダウンロードしておきましょう。
GlassFishの導入についてはここでは省略しますが*3、ここでは ~/glassfish3 に解凍したものとします。
まずはじめにGlassFishの組み込みデータベースであるJavaDBを起動します。JavaDBはLightFishから使われているデータベースです。
cd ~/glassfish3/bin ./asadmin start-database
次にdomainを起動します。
./asadmin start-domain
正常に起動すればlocalhost:4848でGlassFishの管理コンソールが使えるようになるので、ブラウザを立ち上げ
にアクセスしましょう。
管理コンソールが表示されたら、左のツリーからアプリケーションを選択し、デプロイボタンを押します。
"サーバーにアップロードされるパッケージ・ファイル"から、さきほどダウンロードしたlightfish.warを選択します。他の項目はデフォルトのままで大丈夫でしょう。その後、一番したの"OK"ボタンでwarをDeployします。
正常にDeployされたら、ブラウザから
にアクセスします。以下のような画面が表示されたでしょうか?
これはGlassFishの監視データをXMLで出力するサーバ側アプリケーションです。では実際に監視データを出力してみましょう。画面の"start"ボタンで監視を開始し、"Live Data"リンクをクリックします。するとXMLが表示されます。*4
これがサーバ側で作成している監視データで、これをJavaFXで作成されたクライアント側から定期的に呼び出して、画面の描画を行なっています。
クライアントの起動
それでは早速クライアントを起動してみましょう。クライアント本体は
- ~/glassfish3/glassfish/domains/domain1/applications/lightfish/lightview-app.jar
になるので、これをコマンドで起動します。
cd ~/glassfish3/glassfish/domains/domain1/applications/lightfish java -jar lightview-app.jar
WebStartについて
気付いた方もいるかもしれませんが、サーバの画面でLive Viewというリンクがありましたよね?
あれは、じつはこのクライアントをWebStartで起動させるものなのですが、自分の環境ではうまく動かすことができませんでした。クリックすると以下の画面が表示されます。
最初はコマンドからlightview-app.jarを起動させることに気づかず、Webの画面から起動できないか四苦八苦していたのですがそこに、OracleのJavaエヴァンジェリストの寺田氏と、Java Championの櫻庭氏からこんなツイートが・・・
まとめると
- JavaFXのWebStartを実行するにはランタイムが必須
- Windows版のJavaFXランタイムは提供されている
- Mac版のJavaFXランタイムは未提供・・・
- なので、現状ではJavaFXアプリケーションをWebStartさせることはできない
ということです。しかしその後、こんな情報もいただきました。
JDK7u6は現在Developer Previewが公開されているので、これを導入すればひょっとするとMacでもWebStartで実行できるかもしれませんね。
ということで以上、LightFishの紹介でした。どうぞ、お試しあれ。