このサンプルでは、サンプル 2a と同じデータ テーブルを使用します。
JRun のルート ディレクトリ/samples/sample3a/
ディレクトリにある deploy.properties
ファイルを確認します。JDBC ソースを定義するプロパティがあることに注意してください。
ejipt.logSQLRequests=true
と設定すると、すべての SQL 呼び出しがログ ウィンドウに表示されます。この機能はデバッグには便利ですが、実際の運用環境では無効に設定しておく必要があります。
JRun のルート ディレクトリ/samples/sample3a/META-INF
ディレクトリの ejb-jar.xml
ファイルを参照します。このファイルには CMP の仕様が含まれています。_id
および _value
の cmp-field
要素に注意してください。これらは、_id
および _value
フィールドをコンテナで管理するように EJB エンジンに指示します。また、persistance-type
要素が Container
に設定されることにも注意してください。これによって、コンテナによって管理されるフィールドがあることを EJB エンジンに示します。
env-entry
要素にある ejipt.*SQL*
仕様では、EJB エンジンが Bean 内にデータを格納する方法と Bean からデータを取得する方法を定義します。このサンプルでは、findByPrimaryKey
(ejipt.findByPrimaryKeySQL
)、create
(ejipt.createSQL
)、load
(ejipt.loadSQL
)、remove
(ejipt.removeSQL
)、およびstore
(ejipt.storeSQL
) のプロパティがあります。これらの仕様は、Bean インスタンスの状態を適切に管理するためにコンテナによって使用されます。
メモ JRun のルート ディレクトリ |
SQL プロパティの詳細な説明は、『JRun によるアプリケーションの開発』のコンテナ管理パーシスタンスの解説にあります。JRun のルート ディレクトリ/samples/sample3a/ejbeans
の BalanceBean.java
を確認します。対応するサンプル 2a のBalanceBean.java
ファイルほどコードは多くありません。特に、ejbLoad
メソッドおよび ejbStore
メソッドからすべての SQL 関連の参照が削除されています。
ここで、次のコマンドを入力してサンプルを実行します。JRun のルート ディレクトリは、正しいディレクトリに置き換えてください。
bash$ export JRUN_HOME=JRun のルート ディレクトリ
bash$ cd JRun のルート ディレクトリ/samples/sample3a
JRun サンプルとともにインストールされている PointBase ドライバ以外の JDBC ドライバを使用する場合は、次のコマンドを入力します。ドライバへの正しいパスを入力してください。
bash$ export JDBC_DRIVERS=/path/ドライバ名
bash$ make jars
bash$ make deploy bash$ make standalone
次に、2 番目のコマンド プロンプト ウィンドウでクライアントを起動します。JRun のルート ディレクトリは、実際の JRun インストール ディレクトリに置き換えてください。
bash$ export JRUN_HOME=JRun のルート ディレクトリ
bash$ cd JRun のルート ディレクトリ/samples/sample3a bash$ make run