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

2011年3月10日(木)
皆本 房幸

連載の第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画面(クリックで拡大)
レッドハット株式会社

JBoss コンサルタント。日本 JBoss ユーザ・グループ(www.jbug.jp)発起人、翻訳プロジェクトリーダ。 著書『JBoss入門』『JBoss徹底活用ガイド』(共著)他。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています