GlassFish 4.0 正式リリース

日本時間で6月11日、GlassFish 4.0 がリリースされました。名実ともに世界初の Java EE 7 完全準拠のアプリケーションサーバーです。

国内では GlassFish Users Group Japan の Facebook ページ がリリース直後にアナウンスをしています(日本オラクル寺田さんからの公式アナウンスより早いです)。

一時期、Promoted build 90がGAになりそうだとお伝えしていましたが、US OracleのArun Gupta氏よりbuild 89がGAになる(ていうかbuild 90の情報はどこから持ってきたの?と何度か訊かれた)という情報を提供して頂きました。リリース版を確認したところ、build 89であることを確認しています。

GlassFish 4.0 は、GlassFish v3 で確立した OSGi ベースのアーキテクチャをそのまま踏襲しており、上位のディレクトリ構造もほぼ互換性があります(下層は結構違っている)。メジャーアップデートを経ても揺るぎのないv3のアーキテクチャには脱帽です。

ただ、せっかくのリリースに水を差すようで申し訳ないのですが、寺田さんからは、GlassFish 4.0 は新機能のお披露目的な位置づけでプロダクション・ユースではなく、本番運用には用いないで欲しいとお達しが来ています。実際に現在進行形でv4.0.1とv4.1の開発が進められており、バックログの多くもそこでFixするつもりでするようです。

GlassFish v4.0 正式リリース
http://yoshio3.com/2013/06/11/glassfish-v4-0-released-0611/
Java EE 7対応のアプリケーションサーバ「GlassFish 4」オープンソース版が公開
http://www.publickey1.jp/blog/13/java_ee_7glassfish_4.html

どうやらUbuntuにインストールできないなど大きな問題も発生しているようですが、筆者は WindowsSolarisRHELSLES しか使わない主義なのでまさに「対岸の火事」と言ったところです。

参考まで、v4.0.1およびv4.1で修正予定の不具合は、Issue Trackerに一覧がありますので、興味のある方はご覧ください。

v4.0.1 で修正予定 (en)
https://java.net/jira/browse/GLASSFISH/fixforversion/16061
V4.1 で修正予定 (en)
https://java.net/jira/browse/GLASSFISH/fixforversion/16387

v4の小さな改善点としては、起動速度が速くなっていることが上げられます。筆者の環境でv3.1.2.2 Full Profileを起動すると空荷でも13秒程度かかのですが、v4.0では7秒程度まで短縮されています。実際、asadmin コマンドの本体である admin-cli.jar は大幅に書き換えられており、高速化に貢献しています(とはいうものの、JBoss/WildFlyに負けているのは事実...)。

v4.0は色々問題がある、と公式に近い情報筋から伝わっていますが、筆者が使ってみたところ、v3時代の不具合、特にCDI周りはだいぶ改善されています(といいつつv4でもCDI周りのバグは山積...)。v3との互換性は十分に確保されていますので、中小規模のシステムであればすぐにでも採用して良いと考えています。

v4.0の問題について、寺田さんから以下の見解が出ています(ソース):

追記:誤解が発生する可能性がございますので下記を追記しました。 本日、RIとしてリリースされたバージョンは Java EE 7 で提供される各 API (各 JSR)が正しく動作する事を主に提供されています。つまりクラスタリング・高可用性機能など本番環境で動作させる為に必要な管理機能に対する十分なテストがされていません。そこで本番環境でのご適用はお控え頂き、近い将来十分にテストされたバージョンがリリースされた後に本番環境にご適用ください。ここで申し上げた内容は OSS 版、製品版の違いはございません。OSS 版と製品版の違いは、製品に対するサポートの有無(パッチ提供等を含む)、製品版でのみ利用可能な追加機能の有無などになります。クラスタリング機能、インメモリによる高可用性機能などは OSS 版、製品版共に提供予定です。

要するにv4.0には重要度の高いバックログが残ったままになっているということなのですが、それを言ったら WebLogic 12cWebSphere V8.5 は実際に大量のバックログを抱えたままリリースしていますし、Tomcat に至ってはむしろバックログが存在しない方が異常というプロジェクト運営をやっているくらいなので、そんなに目くじらを立てる必要もないかと個人的には思っています。それより、いち早く Java EE 7 を試すことが出来るアドバンテージの方がずっと大きいはずです。

この機会にぜひ、GlassFish 4.0 ユーザーになりましょう!
詳しくは Web https://glassfish.java.net/ で!