<< 謹賀新年 | Home | Twitter4J 1.1.4 リリース >>

JBoss AS 5 で Web Beans を動かす

Web Beans は JavaEE 6.0 に取り込まれる予定の Web アプリケーションフレームワーク仕様です。
先日 参照実装のアルファリリースが出たので動かしてみました。

1. ダウンロード
Web Beans は現在 Alpha1 というバージョンを sourceforge からダウンロードできます。
- Web Beans 1.0.0.ALPHA1 release

Web Beans RI は現在のところ JBoss AS 5 でのみ動作します。
手元になければ JBoss もダウンロード。
jboss.org: community driven

2. Web Beans のインストール
Web Beans はフレームワークの一種ですが、サーブレットや JSF などと同じくコンテナレベルでサポートされるフレームワークです。Web Beans 固有のアノテーションなどを解釈するのは Web アプリケーションではなくコンテナの役割になりますので Web Beans 関連ライブラリを WEB-INF/lib に突っ込む必要はありません。
現在のところ Web Beans をOOTBでサポートしているアプリケーションサーバはありません。
Web Beans RI では Web Beans サポートを JBoss に追加する ant スクリプトが用意されています。

インストールは簡単です、build.properties で JBoss のインストールディレクトリを指定して ant で update ターゲットを実行するだけ。
私の場合は /Users/yusukey/jboss-5.0.0.GA になります。

cd webbeans-1.0.0.ALPHA1/jboss-as
$ cat build.properties
#jboss.home=/Applications/jboss-5.0.0.GA
jboss.home=/Users/yusukey/jboss-5.0.0.GA
$ export ANT_HOME=/usr/share/ant/
$ ant update


Web Beans RI のプロジェクトリードである Pete は Mac ユーザなのでデフォルトではあからさまに Mac っぽいパスが記載されていました。
なお、Mac ではデフォルトで ant コマンドに PATH が通っていますが、ANT_HOME を設定するのは必須です。設定しておかないとうまくインストールができず、アプリケーションを動かすときにエラーが発生します。
Seam Framework - webbeans 1.0 alpha - Error creating WebBeanDiscovery providerorg.jboss.webbeans.integration.jbossas.WebBeanDiscoveryImpl

3. アプリケーションのデプロイ
現在の所 Web Beans のサンプルは数字当ての webbeans-numberguess と入力したテキストをラテン語に翻訳してくれる webbeans-translator (※)の2つがあります。
※必ず同じセンテンスを返す実装になっています

デプロイは簡単、ant で deploy ターゲットを実行するだけ。
cd webbeans-1.0.0.ALPHA1/examples/translator
$ ant deploy
Buildfile: build.xml

package:
[java] [INFO] Scanning for projects...
...
[java] [INFO] ------------------------------------------------------------------------
[java] [INFO] Reactor Summary:
[java] [INFO] ------------------------------------------------------------------------
[java] [INFO] Web Beans Examples: Translator (parent) ............... SUCCESS [3.070s]
[java] [INFO] Web Beans Examples: Translator (war) .................. SUCCESS [2.611s]
[java] [INFO] Web Beans Examples: Translator (ejb) .................. SUCCESS [0.371s]
[java] [INFO] Web Beans Examples: Translator (ear) .................. SUCCESS [0.630s]
[java] [INFO] ------------------------------------------------------------------------
[java] [INFO] ------------------------------------------------------------------------
[java] [INFO] BUILD SUCCESSFUL
[java] [INFO] ------------------------------------------------------------------------
[java] [INFO] Total time: 8 seconds
[java] [INFO] Finished at: Tue Jan 06 15:44:58 JST 2009
[java] [INFO] Final Memory: 12M/22M
[java] [INFO] ------------------------------------------------------------------------

deploy:
[copy] Copying 1 file to /Users/yusukey/jboss-5.0.0.GA/server/default/deploy
[echo] The app can be accessed at http://localhost:8080/webbeans-translator

BUILD SUCCESSFUL
Total time: 10 seconds


4. JBoss を起動する
$ cd /Users/yusukey/jboss-5.0.0.GA/bin
$ ./run.sh -c default
./run.sh: line 89: ulimit: open files: cannot modify limit: Invalid argument
run.sh: Could not set maximum file descriptor limit: unlimited
=========================================================================

JBoss Bootstrap Environment

JBOSS_HOME: /Users/yusukey/jboss-5.0.0.GA
...
15:50:39,863 INFO [WebBeansBootstrap] Validing Web Bean injection points
15:50:39,868 INFO [WebBeansBootstrap] Web Beans RI initialized
15:50:39,919 INFO [Http11Protocol] Coyote HTTP/1.1を http-127.0.0.1-8080 で起動します
15:50:39,961 INFO [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
15:50:39,971 INFO [ServerImpl] JBoss (Microcontainer) [5.0.0.GA (build: SVNTag=JBoss_5_0_0_GA date=200812041714)] Started in 29s:863ms


5. アプリケーションを動かす。

http://localhost:8080/webbeans-numberguess、またはhttp://localhost:8080/webbeans-translatorよりアプリケーションにアクセスできます。


numberguess


translator

便利なことに Web Beans 自体、またサンプルアプリケーションは Maven ベースのプロジェクトになっています。(というかイマドキ当たり前?)
なので IntelliJ IDEA、NetBeans、JBuilder・・、好きな IDE で簡単に開いていじることができます。

関連記事:
In Relation To...  Web Beans 1.0.0.ALPHA1 released!
Chapter 3. The Web Beans Reference Implementation
【ハウツー】姿を見せ始めたWeb Beans - サンプルコードで見るその具体像 仕様の策定が進むWeb Beans | エンタープライズ | マイコミジャーナル




コメント追加 トラックバック送信