悲観もあれば楽観もある「トランザクション」の常識企業システムの常識をJBossで身につける(8)(3/4 ページ)

» 2010年04月22日 00時00分 公開
[上川伸彦, 出島宣寿, 原田壮士株式会社ビーブレイクシステムズ]

JTA実装のサンプルアプリケーションを作る

 ここではサンプルとしてサーブレットを作成し、JBoss TransactionsのJTA実装を見ていきましょう。

プロジェクトの作成

 まず、新規のプロジェクトを作成します。Eclipse上で[ファイル]→[新規]→[プロジェクト]を選択します。

図5 プロジェクトの新規作成 図5 プロジェクトの新規作成

 [動的Webプロジェクト]を選択し、[次へ]をクリックします。

図6 [動的Webプロジェクト]を選択 図6 [動的Webプロジェクト]を選択

 次の画面で、下記のように入力し、[完了]をクリックします。

図7 動的Webプロジェクトの設定 図7 動的Webプロジェクトの設定
  • [プロジェクト名]sampleJTA
  • [Target Runtime]JBoss 5.0 Runtime
  • [動的Webモジュールバージョン]2.5
  • [構成]JBoss 5.0 Runtime デフォルト構成

サーブレットのクラスを作成

 次に、サーブレットのクラスを作成します。[Javaリソース]のsrcの部分で右クリックして、[新規]→[サーブレット]を選択します。

図8 作成されたプロジェクトとサーブレットの作成 図8 作成されたプロジェクトとサーブレットの作成

 下記のように入力して、[完了]をクリックします。

図9 [サーブレット作成] 図9 [サーブレット作成]
  • [Javaパッケージ]sample
  • [クラス名]SampleServlet

 作成したSampleServlet.javaは、下記のように記述します。このサーブレットを呼び出すと、データベースにデータを保存するようにしています。

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Statement;
import java.util.Date;
 
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import javax.transaction.UserTransaction;
 
/**
 * Servlet implementation class SampleServlet
 */
public class SampleServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    public SampleServlet() {
        super();
    }
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException {
        request.setCharacterEncoding("Shift_JIS");
        response.setContentType("text/html;charset=Shift_JIS");
        PrintWriter out = response.getWriter();
        out.println("処理日付と時間: " + new Date());
 
        // データベース更新処理
        transaction();
    }
}
コード2 SampleServlet.java

 次ページでは最後に、データソースの設定やテーブル作成を行い、実際に動作確認してみましょう。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。