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(); } ・・・ }
目次
索引
![]() ![]() |