Enterprise Beanの開発手順について説明します。
ここでは、開発環境であるワークベンチのEnterprise JavaBeansプロジェクトウィザードでプロジェクトを作成し、必要なクラスを追加してEnterprise Beanを作成します。
プロジェクト作成
[スタート]メニューから[プログラム] > [Interstage] > [Studio V9.2] > [Interstage Studio]を選択し、ワークベンチを起動します。
ワークベンチのメニューから[ファイル] > [新規] > [プロジェクト]を選択します。
[新規プロジェクト]ウィザードで[J2EE] > [Enterprise JavaBeansプロジェクト]を選択し、[次へ]をクリックします。
[Enterprise JavaBeansプロジェクト](1ページ目)では、プロジェクトの情報を入力して[次へ]をクリックします。
[Enterprise JavaBeansプロジェクト](1ページ目)
項目名 | 入力値 |
---|---|
プロジェクト名 | TutorialBean |
内容 | [ワークスペース内に新規プロジェクトを作成]を選択 |
JRE | [デフォルトJREの使用]を選択 |
[Enterprise JavaBeansプロジェクト](2ページ目)では、Enterprise JavaBeansバージョンに[2.1]が設定されていることを確認し、[終了]をクリックします。
[Enterprise JavaBeansプロジェクト](2ページ目)
項目名 | 入力値 |
---|---|
Enterprise JavaBeansバージョン | 2.1 |
[プロジェクトエクスプローラ]ビューでTutorialBeanを選択し、ワークベンチのメニューより[ファイル] > [新規] > [Enterprise Bean]を選択します。
Enterprise Beanウィザードでは、作成するEnterprise Beanの情報を入力して[次へ]をクリックします。
Enterprise Beanウィザード(1ページ目)
項目名 | 入力値 |
---|---|
ソースフォルダ | TutorialBean/src |
パッケージ | pkgTutorialBean |
名前 | TutorialBean |
Enterprise Bean種別 | Stateful Session Bean |
Enterprise Beanウィザード(2ページ目)
項目名 | 入力値 |
---|---|
トランザクション管理種別 | Bean |
Home/Remoteインタフェースを生成する | チェックしない |
LocalHome/Localインタフェースを生成する | チェックする |
Enterprise Beanウィザード(3ページ目) のejbCreateメソッド定義ページで、パラメタなしのejbCreateメソッドが定義されていることを確認して[次へ]をクリックします。
Enterprise Beanウィザード(4ページ目) のビジネスメソッド定義ページで[追加]をクリックして、[メソッド定義]ダイアログボックスでAddCartメソッドとgetItemsメソッドを定義します。
[パラメタリスト]への登録は、[パラメタ追加]をクリックしてから行います。
各メソッドごとに定義情報の入力を行い、[OK]をクリックします。
[メソッド定義]ダイアログボックス
項目名 | 入力値 | |
---|---|---|
メソッド名 | AddCart | |
戻り値の型 | void | |
パラメタリスト | 型 | String |
変数名 | name |
項目名 | 入力値 |
---|---|
メソッド名 | getItems |
戻り値の型 | Item[ ] |
パラメタリスト | (何も指定しない) |
ビジネスメソッド定義ページのメソッド一覧には次のメソッドが登録されていることを確認し、[終了]をクリックします。
AddCart(String)
詳細: void AddCart(String name)
getItems()
詳細: Item[ ] getItems()
ワークベンチの[プロジェクトエクスプローラ]ビューで、[TutorialBean]プロジェクトに以下のファイルが生成されていることを確認してください。
TutorialBean.java(Enterprise Beanクラス)
TutorialBeanLocal.java(Localインタフェース)
TutorialBeanLocalHome.java(LocalHomeインタフェース)
ejb-jar.xml(deployment descriptorファイル)
生成リソースの警告について
ウィザードが生成したリソースに対して警告エラーが出力される場合がありますが、運用上は問題ありません。
Javaソースについては、“Interstage Studio ユーザーズガイド”の“トラブルシューティング”の“ワークベンチ一般に関する問題”を参照してください。
Enterprise Beanで使用するクラスの作成
Itemクラス(getItemsメソッドの戻り値の型)を定義します。
ワークベンチの[プロジェクトエクスプローラ]ビューで[TutorialBean] > [src] > [pkgTutorialBean]を選択し、メニューから[ファイル] > [新規] > [クラス]を選択します。
Javaクラスウィザードでは、クラスの情報を定義します。
インプリメントするインタフェースを指定するため、[インタフェース]フィールドで[追加]をクリックします。
[実装されたインタフェースの選択]ダイアログボックスで、[インタフェースを選択してください]に java.io.Serializable を入力して[OK]をクリックします。
Javaクラスウィザードに戻り次のようにクラスの情報を指定し、[終了]をクリックします。
Javaクラスウィザード
項目名 | 入力値 |
---|---|
ソースフォルダ | TutorialBean/src |
パッケージ | pkgTutorialBean |
エンクロージング型 | チェックしない |
名前 | Item |
修飾子 | [public]を選択 |
スーパークラス | java.lang.Object |
インタフェース | java.io.Serializable |
作成するメソッドスタブの選択 | チェックしない(すべて) |
現在のプロジェクトのプロパティで構成したとおりコメントを追加 | チェックしない |
ワークベンチの[プロジェクトエクスプローラ]ビューで、[TutorialBean]プロジェクトに以下のファイルが追加されていることを確認してください。
Item.java(ユーザ定義クラス)
Javaファイル編集
Javaエディタを使用して以下のソースファイルを編集します。
ワークベンチの[プロジェクトエクスプローラ]ビューでソースファイルを右クリックし、[アプリケーションから開く] > [Javaエディタ]を選択します。
Itemクラスには以下のメソッドを定義します。
getNameメソッド(商品名を取得する)
setNameメソッド(商品名を設定する)
getQuantityメソッド(購入する個数を取得する)
setQuantityメソッド(購入する個数を設定する)
package pkgTutorialBean; import java.io.Serializable; public class Item implements Serializable { /** 追加ここから **/ private String name; private int quantity = 0; public Item() { } public Item(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name ; } public int getQuantity() { return quantity; } public void setQuantity(int quantity) { this.quantity=quantity ; } /** 追加ここまで **/ } |
/** * */ package pkgTutorialBean; /** 削除ここから ** import java.rmi.*; import javax.ejb.*; ** 削除ここまで **/ /** 追加ここから **/ import java.util.Hashtable; /** 追加ここまで **/ /** * @author Owner * */ public class TutorialBean implements javax.ejb.SessionBean { /** * context. */ private javax.ejb.SessionContext context; /** 追加ここから **/ private Hashtable items = new Hashtable(); /** 追加ここまで **/ /** * constructor. */ public TutorialBean() { } /** * ejbCreate. */ public void ejbCreate() { /** 追加ここから **/ items.clear(); /** 追加ここまで **/ } /** * AddCart. * @param name */ public void AddCart(String name) { /** 追加ここから **/ Item item = (Item)items.get(name); if(item == null) { item = new Item(name); items.put(name, item); } item.setQuantity(item.getQuantity()+1); /** 追加ここまで **/ } /** * getItems. * @return Item[] */ public Item[] getItems() { /** 削除ここから ** return null; ** 削除ここまで **/ /** 追加ここから **/ return (Item[])items.values().toArray(new Item[0]); /** 追加ここまで **/ } /** * setSessionContext. * @param ctx * @throws javax.ejb.EJBException * @throws java.rmi.RemoteException */ public void setSessionContext(javax.ejb.SessionContext ctx) throws javax.ejb.EJBException, java.rmi.RemoteException { context = ctx; } /** * ejbRemove. * @throws javax.ejb.EJBException * @throws java.rmi.RemoteException */ public void ejbRemove() throws javax.ejb.EJBException, java.rmi.RemoteException { } /** * ejbActivate. * @throws javax.ejb.EJBException * @throws java.rmi.RemoteException */ public void ejbActivate() throws javax.ejb.EJBException, java.rmi.RemoteException { } /** * ejbPassivate. * @throws javax.ejb.EJBException * @throws java.rmi.RemoteException */ public void ejbPassivate() throws javax.ejb.EJBException, java.rmi.RemoteException { } } |
import文の挿入について
必要な実装をコーディングしたあとにJavaエディタ上で右クリックし、コンテキストメニューから[ソース] > [インポートの編成]を行うと、プロジェクトに設定されたクラスパスに従った適切なimport文が挿入できます。
ワークベンチのメニューから[ファイル] > [すべて保存]を選択し、編集したファイルを保存します。