ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド

13.6.3 setEntityContextメソッドおよびunsetEntityContextメソッドの記述

setEntityContextメソッドは、インスタンス生成時に呼び出されます。

unsetEntityContextメソッドは、インスタンス消去時に呼び出されます。

一般的には、setEntityContextメソッドでは、1回だけ初期化するような処理(例えばデータソースの獲得処理)、unsetEntityContextでは、回収処理などの後処理を記述します。また、setEntityContextメソッドでは、引数で渡されるEntityContextのリファレンスをインスタンス内に保持するように記述します。

lookupを使用したデータソース獲得については、“4.10 オブジェクトの参照方法”を参照してください。

注意

Entity Beanから別のEntity Beanを呼び出す場合、呼出し元のEntity BeanのsetEntityContextメソッド内に、呼出し先のEntity Beanをlookupする処理を記述することはできません。他のメソッド内に記述してください。

記述例

  public void setEntityContext(javax.ejb.EntityContext ctx) throws javax.ejb.EJBException
  {
      context = ctx;
      // データソースの獲得
      try {
          javax.naming.Context ic = new javax.naming.InitialContext();
          dataSource = (DataSource)ic.lookup("java:comp/env/jdbc/SYMFO");
      }
      catch( Exception ex ) {
          throw new javax.ejb.EJBException(ex);
      }
  }
  public void unsetEntityContext() throws javax.ejb.EJBException
  {
      context = null;
      dataSource = null;
  }