Sample 3a:既定の認証

このサンプルでは、サンプル 2a と同じデータ テーブルを使用します。

JRun のルート ディレクトリ/samples/sample3a/ ディレクトリにある deploy.properties ファイルを確認します。JDBC ソースを定義するプロパティがあることに注意してください。

ejipt.logSQLRequests=true と設定すると、すべての SQL 呼び出しがログ ウィンドウに表示されます。この機能はデバッグには便利ですが、実際の運用環境では無効に設定しておく必要があります。

JRun のルート ディレクトリ/samples/sample3a/META-INF ディレクトリの ejb-jar.xml ファイルを参照します。このファイルには CMP の仕様が含まれています。_id および _valuecmp-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 のルート ディレクトリ/samples ディレクトリには、ユーザの DBMS に必要なエン ティティの定義に使用できるファイルが含まれています。sqlserver.sql ファイルを 使用して、SQL サーバのエンティティを定義し、oracle.sql ファイルを使用して、 Oracle のエンティティを定義します。


SQL プロパティの詳細な説明は、『JRun によるアプリケーションの開発』のコンテナ管理パーシスタンスの解説にあります。JRun のルート ディレクトリ/samples/sample3a/ejbeansBalanceBean.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

サンプルを使用すると、セッション間で値が維持されていることがわかります。