もう1つのGlassFish「Payara」を使ってみた

「Payara」とは?

GlassFishをベースとした、オープンソースのAPサーバーです。ドメインが「.co.uk」ということで、イギリスの企業みたいですね。
上記の公式Webサイトによると、「24時間365日サポートしてまっせ!」「GlassFishをバグ修正したり、パッチをGlassFishにも提供したりしてまっせ!」「EclipseLinkやJerseyなど依存ライブラリをアップデートしてまっせ!」「四半期(3ヶ月)に一回アップデートしまっせ!」といったことが書いてあり、これは非常に良いなということで、試してみました。

リリースノートより

http://www.payara.co.uk/release_notes
EclipseLink 2.6.0、Jersey 2.17、Mojarra 2.2.10など、現時点での最新バージョンが内包されているようですね。
また、Paraya独自のパッチをあてたものもあるようです。

Payaraのダウンロード・インストール

こちらから、[Payara-web 4.1.152 (Web Profile)]をダウンロードします。
http://www.payara.co.uk/downloads
で、ダウンロードしたZIPを適当なフォルダに展開するだけです。
GlassFishと全く一緒ですね。
ちなみに、この「4.1.152」というバージョン名は、「GlassFish 4.1ベースの、2015年の2回目のリリース」という意味らしいです。
詳しくは、蓮沼さんのブログをご覧ください。
http://www.coppermine.jp/mt/mt-search.cgi?IncludeBlogs=41,48,47&tag=payara&limit=20

起動・停止・管理コンソール

これもGlassFishと全く一緒です。ただ、PAYARA_HOME/glassfish/domains内には、「domain1」と、もう1つ「payaradomain」というドメインがあるので、ドメインを明示的に指定します。

起動

コマンドプロンプトで、PAYARA_HOME/binに移動し、下記のコマンドを実行します。

asadmin start-domain domain1

管理コンソール

ブラウザで、localhost:4848にアクセスしてください。
ロゴとかがPayaraに変わっていますが、基本的にはGlassFishと全く同じですね。
f:id:MasatoshiTada:20150503104900j:plain

停止

コマンドプロンプトで、PAYARA_HOME/binに移動し、下記のコマンドを実行します。

asadmin stop-domain domain1

IDEとの連携など

NetBeans 8.0.2、IntelliJ IDEA 14.1.1で確認しましたが、これもGlassFish 4.1と全く同じですね。
正しく認識できるし、アプリケーションのデプロイなどもできます。
NetBeansでは、[サービス]タブ→[サーバー]を右クリック→[サーバーの追加]→[GlassFish Server]です。
GlassFish 4.0のインストールとNetBeans 8.0の連携 - Java EE 事始め!
IntelliJ IDEAでの方法は、@mike_neckさんが既に書いてらっしゃいます。
儂のIntelliJ IDEAとGradle力が足りなくてJavaEEプロジェクトで困った件 - mike-neckのブログ

JerseyとCDI連携について

サンプルアプリケーションとして、以前MVC 1.0で作ったものを使いました。
Payara 4.1.152は、Jerseyが最新の2.17にアップデートされているはずなのですが、MVCコントローラークラスやJAX-RSリソースクラスに@RequestScopedを付けないと、MVCのModelsやその他のCDI管理ビーンをインジェクトすることができませんでした。
これは、バグなのか、仕様なのか・・・?ここはよく分かりません。

まとめ

  • 使い方はGlassFishと全く同じ
  • NetBeansやIDEAとの連携もOK
  • Jerseyなどの各コンポーネントが最新になっている
  • 四半期に1回アップデートされる
  • サポートを受けられる

ということで、Payara良いですね。
使用するAPサーバーの候補の1つにしてみてはいかがでしょうか。