ページの先頭行へ戻る
Interstage Application Server Java EE運用ガイド(Java EE 6編)
Interstage

4.1.6 データベース連携アプリケーションの作成方法

データベースに対して処理を実行するには、定義したJDBCリソースを以下の例のようにJNDIのメソッド(lookupなど)を使用して取得し、データベースへの処理要求を実行します。
データベースの処理要求は、JDBC APIを使用して実行します。JDBC APIの詳細は、JDBC API規約を参照してください。

InitialContext ctx = new InitialContext();
javax.sql.DataSource ds = ctx.lookup("jdbc/MyBase");
Connection con = ds.getConnection();
// データベース処理を実行
con.close();

JDBCの標準APIだけサポートします。各JDBCドライバ固有のメソッド(OracleConnection固有のメソッドなど)は使用できないため、標準のAPIを使用してください。固有のメソッドを実行するためにオブジェクトをJDBCドライバ固有のクラスにキャストしようとした場合には、java.lang.ClassCastExceptionが発生します。

共有接続

同一のJDBCリソースに対して接続を使用する場合、同一トランザクション範囲内で接続は共有されます。例えばアプリケーションAでトランザクションの開始とJDBCリソースに対する接続の獲得を行い、同一のトランザクション範囲内でアプリケーションBが同一のJDBCリソースに対して同一の認証情報(ユーザID/パスワード)で接続を獲得した場合、Aがトランザクションを完了させるまで接続は共有されます。
Java EEコンポーネントが接続の共有を許可した場合だけ、JDBCリソースから取得する接続は共有されます。リソース参照項目のres-sharing-scope要素にShareableを定義した場合、接続は共有されます。接続を共有しない場合には、Unshareableを定義します。