| Interstage Application Server J2EE ユーザーズガイド |
目次
索引
![]()
|
| 第3部 EJB編 | > 第28章 Bean共通編 | > 28.3 トランザクションを使用したアプリケーション |
DBMSのトランザクションを使用した場合の、アプリケーションの開発方法について説明します。
以下に、DBMSのトランザクション機能を使用する場合の処理の流れを示します。

DBMSのトランザクションを使用する場合の記述例を示します。以下の例では、データベースへの接続はejbCreate()メソッドで、データベース接続の解放はejbRemove()メソッドで行っています。
package Tran03;
import javax.ejb.*;
import java.rmi.*;
import java.sql.*;
import java.util.*;
public class SampleBean implements SessionBean
{
String dbURL = null;
String driverName = null;
String userName = null;
String passWord = null;
Connection con;
// receive SessionContext
public void setSessionContext(SessionContext ctx) throws EJBException {
/* 環境プロパティの取得を行います */
/* 取得はEnterprise Bean Environment の lookupを使用します */
/* この場合、deployment descriptor の環境プロパティが設定されて */
/* いる必要があります */
/* データソースを獲得します */
try {
javax.naming.Context ic = new javax.naming.InitialContext( );
dbURL = (String)ic.lookup("java:comp/env/URLName");
driverName = (String)ic.lookup("java:comp/env/DriverName");
userName = (String)ic.lookup("java:comp/env/UserName");
passWord = (String)ic.lookup("java:comp/env/PassWord");
}
・・・
}
public void ejbCreate() throws EJBException, CreateException {
/* DBへの接続を行います */
Class.forName(driverName);
con = DriverManager.getConnection(dbURL, userName, passWord);
con.setAutoCommit(false);
}
public String DBAccess(String s) throws EJBException {
/* データベースへのアクセスを行います */
・・・
/* トランザクションのコミット */
con.commit();
}
public void ejbRemove() throws EJBException {
/* DBへの接続を解放します */
con.close();
}
・・・
}
目次
索引
![]()
|