Seam3:Java EE 6時代のWeb開発 2

CDIプログラミングの基本(その1)

連載の第2回となる今回は、Seam3の土台となるCDI (Contexts and Dependency Injection) の基本を確認します。SeamFramework.orgではCDI仕様の参照実装Weldを開発しています。今回はJBossアプリケーションサーバー(JBossAS)上でWe

皆本 房幸

2011年3月10日 20:00

連載の第2回となる今回は、Seam3の土台となるCDI (Contexts and Dependency Injection) の基本を確認します。SeamFramework.orgではCDI仕様の参照実装Weldを開発しています。今回はJBossアプリケーションサーバー(JBossAS)上でWeldのサンプル動作させてみましょう。

CDI サンプルプログラムの実行

開発環境の準備

CDIのプログラミングを試すためには、以下の開発環境を準備してください。

  • JDK 1.6
  • Ant 1.8
  • JBoss AS 6.0.0.Final (jboss-as-distribution-6.0.0.Final.zip)
  • Weld 1.10.GA (weld-1.1.0-Final.zip)

JDKはバージョン1.6以降が必要です。JBossAS 6はJBoss.orgからダウンロードします。Weld はSeamFramework.orgからダウンロードしてください。

→参照リンク:JBossAS 6

JBossAS 6のインストールと起動

jboss-as-distribution-6.0.0.Final.zipを展開してください。
JBossの起動はbinディレクトリ直下にあるrunコマンドを実行します。

> cd jboss-6.0.0.Final/bin
> ./run.sh

JBossの停止は起動した端末上でCtrl-Cを押すか、またはbin/shutdownコマンドを実行します。

以後、サンプル実行に必要となりますのでJBossASは起動した状態のままにしておいてください。

Weldサンプルの実行

weld-1.1.0-Final.zipを展開すると、weld-1.1.0-Final/examplesにサンプルプログラムが含まれています。Weldのサンプルをビルド、実行するにはAntを使います。weld-1.1.0-Final/examples/build.propertiesのjboss.homeを環境に合わせて編集してください。

ビルドを実際にするのはMavenです。ビルド途中にMavenリポジトリからライブラリをダウンロードするため、サンプルのビルドにはインターネットに接続できる環境が必要ですのでご注意ください。

Weldのサンプルは複数提供されています。ここではJSFのサンプルのtranslatorを選択してみましょう。ビルドとJBossASへのデプロイはAntコマンドで実行します。図1に示した手順でビルドを実行してください。

図1:weld-translatorのビルド(クリックで拡大)

ビルドが成功するとJBossASへのデプロイが行われ、 http://localhost:8080/weld-translator で図2のようなアプリケーションが起動します。translatorサンプルは、画面上から任意の文字列を入力して"Translate"ボタンを押すと、ラテン語へ翻訳するというものです。実際には、どのような文字列を入力しても同じダミーの文字列が出力されます。

図2:translator画面(クリックで拡大)
この記事のキーワード

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る