管理コンソールでのオブジェクト・リクエスト・ブローカー・サービス設定

このページを使用して、Java オブジェクト・リクエスト・ブローカー (ORB) サービスを構成します。

この管理コンソール・ページを表示するには、「サーバー>アプリケーション・サーバー>serverName>ORB サービス」をクリックします。

内部オブジェクト・リクエスト・ブローカー (ORB) 処理を制御するために、いくつかの設定値が使用可能です。 Enterprise Bean を含むアプリケーションの場合、これらの設定値を使用してアプリケーション・パフォーマンスを向上させます。 デフォルト・サーバーまたは管理可能ドメイン内に構成されている任意のアプリケ ーション・サーバーについて、これらの設定値を変更することができます。

「構成」タブ

要求タイムアウト  
要求メッセージについてタイムアウトとなるまでに待機する秒数を指定します。

コマンド行スクリプトで使用する場合、このシステム・プロパティーの完全名は com.ibm.CORBA.RequestTimeout です。

データ型 整数
単位
デフォルト 180
範囲 0 から 300
Request retries count  
サーバーに障害が起こった場合、ORB が要求の送信を試みる回数を指定します。 再試行によって、一時的なネットワーク障害からリカバリーできることもあります。

コマンド行スクリプトで使用する場合、このシステム・プロパティーの完全名は com.ibm.CORBA.requestRetriesCount です。

データ型 整数
デフォルト 1
範囲 1 から 10
Request retries delay  
要求を再試行してから、次に再試行するまでの間隔をミリ秒単位で指定します。

コマンド行スクリプトで使用する場合、このシステム・プロパティーの完全名は com.ibm.CORBA.requestRetriesDelay です。

データ型 整数
単位 ミリ秒
デフォルト 0
範囲 0 から 60
最大接続キャッシュ  
サービスの接続キャッシュを占有できる最大接続数を指定します。サーバー・サイドの ORB に接続する 同時クライアントが多数ある場合は、重い負荷 (1000 クライアントまで) をサポートするように、このパラメーターを増やすことができます。

コマンド行スクリプトで使用する場合、このシステム・プロパティーの完全名は com.ibm.CORBA.MaxOpenConnections です。

データ型 整数
単位 接続数
デフォルト 240
最小接続キャッシュ  
サービスの接続キャッシュを占有できる最小接続数を指定します。
データ型 整数
単位 接続数
デフォルト 100
ORB トレース  
ORB GIOP メッセージのトレースを使用可能にします。

この設定は、2 つのシステム・プロパティー (com.ibm.CORBA.Debug と com.ibm.CORBA.CommTrace) に影響を与えます。 コマンド行スクリプトを使用してこの 2 つのプロパティーを設定する場合は、 どちらも「true」に設定して、GIOP メッセージのトレースを使用可能にしなければなりません。

データ型 ブール
デフォルト 使用不可 (false)
要求タイムアウトの位置指定  
LocateRequest メッセージでタイムアウトになるまで待機する秒数を指定します。

コマンド行スクリプトで使用する場合、このシステム・プロパティーの完全名は com.ibm.CORBA.LocateRequestTimeout です。

データ型 整数
単位
デフォルト 180
範囲 0 から 300
Force tunneling  
クライアント ORB が HTTP トンネリングの使用を試行する方法を制御します。

直接アクセスの場合、このプロパティーの完全名は com.ibm.CORBA.ForceTunnel です。

データ型 ストリング
デフォルト 常になし
範囲 有効な値は「常に行う」、「常になし」、または「要求時」です。

以下は、有効な値についての追加情報です。

常に行う
即時に HTTP トンネリングを使用します。 TCP 接続を最初に試行することはありません。
常になし
HTTP トンネリングを使用不可にします。 TCP 接続が失敗した場合、CORBA システム例外 (COMM_FAILURE) がスローされます。
要求時
TCP 接続が失敗した場合に、HTTP トンネリングを使用します。

トンネル・エージェント URL  
HTTP トンネリングをサポートするために使用されるサーブレットの URL を指定します。

これは、http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet や、http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet (アプレットの場合) というような、適切な形式の URL である必要があります。 「HTTP トンネリング」が設定されている場合は、このフィールドは必須です。

コマンド行スクリプトで使用する場合、このシステム・プロパティーの完全名は com.ibm.CORBA.TunnelAgentURL です。

参照による受け渡し  
ORB がパラメーターを渡す方法を指定します。可能であれば、ORB は値によるパラメーターの代わりに参照によるパラメーターを渡します。これにより、オブジェクト・コピーが行われないようにします。 参照による受け渡しが有効になっていない場合、各リモート・メソッド呼び出しに先立ってパラメーターがスタックにコピーされるため、コストがかかる可能性があります。

EJB クライアントと EJB サーバーが同じ WebSphere Application Server インスタンスにインストールされていて、かつ、 クライアントとサーバーがリモート・インターフェースを使用している場合は、 参照による受け渡しを使用可能にすると、パフォーマンスを最高 50% 向上させることができます。 参照による受け渡しによってパフォーマンスが改善されるのは、非プリミティブ・オブジェクト・タイプが パラメーターとして渡される場合だけです。 したがって、int および float は、呼び出しモデルに関係なく常にコピーされます。

このプロパティーを使用可能にすると、予期しない振る舞いをする場合があるので、注意してください。 リモート・メソッドによってオブジェクト参照が変更されると、呼び出し側が変更されることがあります。

コマンド行スクリプトで使用する場合、このシステム・プロパティーの完全名は com.ibm.CORBA.iiop.noLocalCopies です。

データ型 ブール
デフォルト 使用不可 (false)

リモート・インターフェースで Enterprise Bean にこのオプションを使用すると、 EJB 仕様バージョン 2.0 に違反することになります (セクション 5.4 を参照)。EJB メソッドまたは EJB ホーム・メソッドへ渡されるオブジェクト参照はコピーされず、破壊を受けやすくなる可能性があります。

次の例を検討してみましょう。

Iterator iterator = collection.iterator();
MyPrimaryKey pk = new MyPrimaryKey();
while (iterator.hasNext()) {
   pk.id = (String) iterator.next();
   MyEJB myEJB = myEJBHome.findByPrimaryKey(pk);
}

この例では、同じ MyPrimaryKey オブジェクトへの参照が、毎回異なる ID 値で WebSphere Application Server に渡されます。 「参照による受け渡し」を使用可能にしてこのコードを実行すると 、アプリケーション・サーバー内に問題が生じます。これは、複数の Enterprise Bean が同じ MyPrimaryKey オブジェクトを参照するためです。 この問題を回避するには、「参照による受け渡し」を使用可能にするときに 、システム・プロパティー com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation を true に設定してください。 「参照による受け渡し」を true に設定すると、EJB コンテナーが PrimaryKey オブジェクトのローカル・コピーを作成します。 ただし、その結果、「参照による受け渡し」の設定によるパフォーマンス上の利点が少し失われます。

一般に、オブジェクト参照をパラメーターとして Enterprise Bean メソ ッドまたは EJB ホーム・メソッドに渡すアプリケーション・コードは、念入 りに調べて、そのオブジェクト参照を渡すことにより、データの保全性が失わ れるなどの問題が生じないかどうかを確認する必要があります。

関連情報

管理コンソールのボタン
スレッド・プール設定