EJB 設定
エンタープライズ Bean -> 「一般」タブ付きパネル -> 「Sun 固有の設定」ボタン
一般設定
「一般設定」では、このコンポーネントの EJB 名、JNDI 名、主体名、「参照渡し」設定を指定します。
- EJB 名 - このオプションは、このウィザードの「一般」ページで選択した名前があらかじめ入力されています。この設定値を変更するには、「一般」ページに戻るまで「戻る」ボタンをクリックし、「EJB Display Name」の値を適切な値に変更します。
- JNDI 名 - デフォルトでは、「JNDI 名」の値は「EJB 名」の値と同じです。別の名前を使用する場合は、テキストボックスの値を、デプロイヤ (Deployer) がエンタープライズ Bean のホームに割り当てる JNDI 名に変更します。クライアントの JNDI 名前空間は、ネットワーク上の複数のマシンに配置された複数の EJB コンテナにインストールされているエンタープライズ Beans のホームインタフェースを含めるように設定されている場合があります。エンタープライズ Bean と EJB コンテナの実際の場所は、一般に、エンタープライズ Bean のリモートインタフェースを使用しているクライアントに対して透過的です。
- 主体名 - このオプションには、インターネットまたはインターネットユーザーの主体名を指定します。この主体名は、クライアントコンテナとサーバーコンテナに信頼関係があるときに、Web または EJB コンテナからのエンタープライズ Bean の呼び出しに使用されます。
- 参照渡し - このオプションには true または false のどちらかを指定します。true を選択すると、エンタープライズ Bean にローカルのプログラミングモデルが使用されます。false を選択すると、エンタープライズ Bean にリモートのプログラミングモデルが使用されます。リモート呼び出しは値渡しを伴います。
- IOR - このオプションを選択すると、「IOR セキュリティ設定」ダイアログが表示されます。「IOR セキュリティ設定」ダイアログでは、相互運用オブジェクト参照 (Interoperable Object References、IOR) のセキュリティ情報を指定できます。詳細については、このダイアログで「ヘルプ」を選択してください。
「Bean プール」設定
このオプションは、このウィザードの「一般」ページでステートフルセッション Bean を選択した場合は淡色表示されます。一部の Beans は、そのライフサイクルの一部としてメソッド起動可プールに追加されます。たとえば、ローカルクライアントビューまたはリモートクライアントビューを持つステートレスセッション Bean には、単一の create()
メソッドがあります。このメソッドと、これに対応する ejbCreate
メソッドには引数がありません。一般に、ステートレスセッション Bean インスタンスはプールされるので、クライアントの create メソッド呼び出し時間は、コンテナのステートレスセッション Bean インスタンスに対応する ejbCreate
メソッド呼び出しと直接関連しない場合があります。
次のパラメータを Bean プールに設定します。
- 「通常プールサイズ」では、プール内で維持される、Bean インスタンスの初期数と最小数を指定します。
- 「変更量」では、プールが完全にビジー状態のとき要求に応じて作成される Bean インスタンスの数を指定します (「最大プールサイズ」フィールドで指定されている制限を受けます)。可能な値は 0 〜 MAX_INTEGER です。
- 「最大プールサイズ」では、クライアントの要求に応じて作成できる Bean インスタンスの最大数を指定します。可能な値は 0 〜 MAX_INTEGER です。
- 「プールアイドルタイムアウト (秒)」では、Bean インスタンスがプール内でアイドル状態でいることが許容される最大の時間を秒単位で指定します。このタイムアウトが終了すると、プール内の Bean インスタンスは、パッシベーションまたは削除の候補になります。
- 「最大待ち時間 (ミリ秒)」では、空きプールから Bean を取得するために待機している呼び出し側が、接続タイムアウトになるまで待機する最大の時間をミリ秒単位で指定します。値に 0 を指定した場合の待機時間は無限です。オーバーフローを許可していない場合は、現在キャッシュされているインスタンスのパッシベーションが行われ、新しいインスタンスのために領域が空けられます。他のすべてが失敗した場合は、例外が発生します。
「Bean キャッシュ」設定
「Bean キャッシュ」設定は、このウィザードの「一般」ページでステートフルセッション Bean またはエンティティ Bean を選択した場合に使用可能です。一般に、Bean キャッシュにより、クライアントに代わってデータベース内のデータが読み取りおよび更新されます。トランザクション内で、このデータの一部がインスタンス内にキャッシュされる場合があります。
たとえば、セッション Bean はキャッシュされたデータベースデータを明示的に管理する必要があります。セッション Bean インスタンスは、トランザクションが完了する前にキャッシュされたデータベース更新を書き込む必要があり、次回のトランザクションの開始時に古くなっている可能性のあるデータベースデータのコピーを更新する必要があります。また、セッション Bean は、新しいトランザクションコンテキストで使用される前に、Statement オブジェクトを更新する必要もあります。コンテナ管理による持続性を持つエンティティ Bean の持続的な状態をキャッシュするセッション Bean は、次回のトランザクションの開始時にこの古い状態を更新する必要があります。コンテナ管理による関係とコンテナ管理によるコレクションの Iterator を表すコレクションオブジェクトについての参照をキャッシュするセッション Bean は、新しいトランザクションコンテキストでこれらのオブジェクトにアクセスする前に、この古い状態を更新する必要があります。
次のフィールドに適切な値を入力します。
エンティティ設定
このウィザードの「一般」ページでエンティティ Bean を選択すると、「エンティティ設定」セクションが使用可能になります。
- 読み取り専用
- 更新間隔 (秒)。「読み取り専用」を true に設定した場合は、「Refresh Period」に値を設定します。
- コミットオプション。「コミットオプション」 B または C を選択します。エンティティ Bean プロトコルは、トランザクションコミット時のインスタンス状態の処置を選択する柔軟性をコンテナに与えるように設計されています。この柔軟性があることにより、コンテナは、エンタープライズ Bean インスタンスを持つエンティティオブジェクトアイデンティティの関連を最適に管理できます。
次のコミット時オプションから選択します。
- オプション A:コンテナは、トランザクション間に、準備のできたインスタンスをキャッシュします。コンテナは、インスタンスが持続的なストレージ内のオブジェクトの状態に対して排他的なアクセスを持つことを確認します。したがって、次回のトランザクション開始時に、コンテナは持続的なストレージからインスタンスの状態に同期する必要はありません。
- オプション B:コンテナは、トランザクション間に、準備のできたインスタンスをキャッシュします。オプション A とは異なり、このオプションでは、コンテナは、インスタンスが持続的なストレージ内のオブジェクトの状態に対して排他的なアクセスを持つことを確認しません。したがって、次回のトランザクション開始時に、コンテナは持続的なストレージからインスタンスの状態に同期する必要があります。
- オプション C:コンテナは、トランザクション間に、準備のできたインスタンスをキャッシュしません。コンテナは、トランザクションが完了した後、インスタンスを使用可能なインスタンスのプールに戻します。
著作権表示