ページの先頭行へ戻る
 Apcoordinatorユーザーズガイド

25.1.1 Javaソースファイルと関係定義ファイルの作成

セションBeanクラス

セションBeanクラスは、com.fujitsu.uji.ejb.bean.UjiSessionBeanクラスを継承して作成してください。メソッドを追加する必要はありません。以下の例は、セションBeanクラスのクラス名をejboffice.ejb.OfficeEJBとした場合のソースファイルです。

package ejboffice.ejb;
import com.fujitsu.uji.ejb.bean.UjiSessionBean;

public class OfficeEJB extends UjiSessionBean {
}

ホームインタフェース

ホームインタフェースはcom.fujitsu.uji.ejb.UjiSessionHomeインタフェースを継承して作成します。以下のようにcreate()メソッドを作成してください。

package ejboffice.ejb;

import com.fujitsu.uji.ejb.UjiSessionHome;

public interface OfficeEJBHome extends UjiSessionHome {
        public OfficeEJBRemote create() 
                throws java.rmi.RemoteException, javax.ejb.CreateException, 
                       java.lang.reflect.InvocationTargetException;
}

create()メソッドのシグネチャは次のようにしてください。

public [リモートインタフェース名] create() 
throws java.rmi.RemoteException, javax.ejb.CreateException, 
    java.lang.reflect.InvocationTargetException;

ここで、[リモートインタフェース名]の部分はリモートインタフェースのインタフェース名で置き換えてください。

リモートインタフェース

リモートインタフェースはcom.fujitsu.uji.ejb.UjiSessionインタフェースを継承して作成します。メソッドの追加定義は必要ありません。

package ejboffice.ejb;

import com.fujitsu.uji.ejb.UjiSession;

public interface OfficeEJBRemote extends UjiSession {
}

ビジネスクラス

ビジネスクラスには、セションBeanで実行する処理を記述したメソッドを作成します。ビジネスクラスの例を示します。

package ejboffice.ejb;

import ejboffice.*;
import com.fujitsu.uji.DispatchContext;
import com.fujitsu.uji.GenericHandler;

public class OfficeHandler extends GenericHandler {

    // クライアントからの呼び出しを受けて実行されるメソッドを定義します。
    // クライアントから受信したデータBeanが第2引数に与えられます。
    public Object search(DispatchContext context, ViewBean dataBean) {

        // 実行する処理を記述します。   
        int index=dataBean.getIndex();
        ...
        dataBean.putHeader(header);

        // クライアントに返却するオブジェクトをreturnで指定します。
        return dataBean;
    }

    // 必要なだけメソッドを定義します。
    ...
}

ビジネスクラスの作成方法の詳細は“3.1 ビジネスクラス”を参照してください。以下では、セションBeanのビジネスクラスに特有の事項を説明します。

コマンドマップ

コマンドマップには、クライアントから受信したデータに応じて、どのビジネスクラスのメソッドを呼び出すのかを記述します。以下は記述例です。

ejboffice.ViewBean;getArea=ejboffice.ejb.OfficeHandler.getArea
ejboffice.ViewBean;search=ejboffice.ejb.OfficeHandler.search
ejboffice.RenewBean;find=ejboffice.ejb.OfficeHandler.find
ejboffice.RenewBean;update=ejboffice.ejb.OfficeHandler.update

この記述例の1行目は以下の内容を意味しています。

コマンドマップの記述方法の詳細は“3.6.1 コマンドマップ”を参照してください。

セションクラス

セションクラスはセションを通して使われるデータを保持するためのクラスです。セションクラスに記憶させたデータは、ビジネスクラスの実行終了後でもセションBeanのオブジェクトが存在する限り保持されます。アプリケーション独自の情報をセションクラスに記憶させたい場合は、ユーザ定義のセションクラスを使用してください。ユーザ定義のセションクラスの作成方法は“3.3 セションクラス”を参照してください。

アプリケーションクラス

アプリケーションクラスは同一のJVMで動作するセションBeanのオブジェクトで共有されるデータを保持します。アプリケーションクラスに記憶させたデータは、他のセションBeanオブジェクトからも参照されます。アプリケーション独自の情報をアプリケーションクラスに記憶させたい場合は、ユーザ定義のアプリケーションクラスを使用してください。ユーザ定義のアプリケーションクラスの作成方法は、“3.4 アプリケーションクラス”を参照してください。

ファクトリクラス

ファクトリクラスはアプリケーションクラスやセションクラスのインスタンスを作成するクラスです。ユーザ定義のアプリケーションクラスやセションクラスを使用する場合は、ユーザ定義のファクトリクラスを作成し、そのクラス名を初期化パラメタで指定する必要があります。ファクトリクラスの作成方法は、“3.5 ファクトリクラス”を参照してください。初期化パラメタの設定方法は“25.1.2 セションBeanの初期化パラメタの設定”を参照してください。