PR

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のWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

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