このサンプルでは、サンプル 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