このページを使用して、Java™ オブジェクト・リクエスト・ブローカー (ORB) サービスを構成します。
この管理コンソール・ページを表示するには、「サーバー」>「サーバー・タイプ」>「WebSphere Application Server」> 「server_name」 >「コンテナー・サービス」>「ORB サービス」とクリックします。
内部オブジェクト・リクエスト・ブローカー (ORB) 処理を制御するために、いくつかの設定値が使用可能です。 エンタープライズ Bean を含むアプリケーションの場合、 これらの設定値を使用してアプリケーション・パフォーマンスを向上させます。 デフォルト・サーバーまたは管理可能ドメイン内に構成されている任意のアプリケーション・サーバーについて、 これらの設定値を変更することができます。
要求メッセージについてタイムアウトとなるまでに待機する秒数を指定します。
コマンド行スクリプトを使用する場合、 このシステム・プロパティーのフルネームは com.ibm.CORBA.RequestTimeout です。
データ型 | int |
単位 | 秒 |
デフォルト | 180 |
範囲 | 0 - Java で認識される最大の整数 |
サーバーに障害が起こった場合、ORB が要求の送信を試みる回数を指定します。 再試行によって、一時的なネットワーク障害からリカバリーできることもあります。 このフィールドは、z/OS® では無視されます。
コマンド行スクリプトを使用する場合、 このシステム・プロパティーのフルネームは com.ibm.CORBA.requestRetriesCount です。
データ型 | int |
デフォルト | 1 |
範囲 | 1 から 10 |
要求を再試行してから、次に再試行するまでの間隔をミリ秒単位で指定します。 このフィールドは、z/OS では無視されます。
コマンド行スクリプトを使用する場合、 このシステム・プロパティーのフルネームは com.ibm.CORBA.requestRetriesDelay です。
データ型 | int |
単位 | ミリ秒 |
デフォルト | 0 |
範囲 | 0 から 60,000 |
ORB がキャッシュからの活動停止接続の除去を開始するまでに、ORB 接続キャッシュを 占有できるエントリーの最大数を指定します。 このフィールドは、z/OS では無視されます。
キャッシュ内の活動接続の数が一時的にこのしきい値を超える可能性があります。 必要な場合、ORB は、使用可能なリソースがある限り、接続を追加し続けます。
コマンド行スクリプトで使用する場合、 このシステム・プロパティーのフルネームは com.ibm.CORBA.MaxOpenConnections です。
データ型 | 整数 |
単位 | 接続数 |
デフォルト | 240 |
範囲 | 10 - Java で認識される最大の整数 |
ORB 接続キャッシュ内のエントリーの最小数を指定します。 このフィールドは、z/OS では無視されます。
ORB は、エントリー数がこの値より小さくなると、非アクティブの接続を除去しなくなります。
コマンド行スクリプトで使用する場合、 このシステム・プロパティーのフルネームは com.ibm.CORBA.MinOpenConnections です。
データ型 | 整数 |
単位 | 接続数 |
デフォルト | 100 |
範囲 | 接続キャッシュ最大プロパティーに指定された値よりも少なくとも 5 小さい任意の整数。 |
ORB General Inter-ORB Protocol (GIOP) メッセージのトレースを使用可能にします。
この設定は、2 つのシステム・プロパティー (com.ibm.CORBA.Debug と com.ibm.CORBA.CommTrace) に影響を与えます。 コマンド行スクリプトを使用してこれらのプロパティーを設定する場合は、 どちらも true に設定して、GIOP メッセージのトレースを使用可能にしなければなりません。
データ型 | ブール |
デフォルト | 使用不可 (false) |
LocateRequest メッセージでタイムアウトになるまで待機する秒数を指定します。このフィールドは、z/OS では無視されます。
コマンド行スクリプトを使用する場合、 このシステム・プロパティーのフルネームは com.ibm.CORBA.LocateRequestTimeout です。
データ型 | int |
単位 | 秒 |
デフォルト | 180 |
範囲 | 0 から 300 |
クライアント ORB が HTTP トンネリングの使用を試行する方法を制御します。このフィールドは、z/OS では無視されます。
コマンド行スクリプトを使用する場合、 このシステム・プロパティーのフルネームは com.ibm.CORBA.ForceTunnel です。
データ型 | ストリング |
デフォルト | 常になし |
範囲 | 有効な値は「常に行う」、「常になし」、または「要求時」です。 |
HTTP トンネリングのサポートで使用するサーブレットの Web アドレスを指定します。 このフィールドは、z/OS プラットフォームでは無視されます。
この Web アドレスは、次のような正しいフォーマットでなければなりません。
http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet
アプレットの場合は、http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet となります。
HTTP トンネリングが設定されている場合、このフィールドは必須です。 コマンド行スクリプトを使用する場合、 このシステム・プロパティーのフルネームは com.ibm.CORBA.TunnelAgentURL です。
ORB がパラメーターを渡す方法を指定します。これが使用可能になっていると、 ORB は、値によるパラメーターの代わりに参照によるパラメーターを渡して、オブジェクト・コピーが行われないようにします。 参照による受け渡しオプションが有効になっていない場合は、 パラメーター・オブジェクトそのものではなく、パラメーターのコピーが渡されます。 この場合、ORB が最初に各パラメーター・オブジェクトのコピーを作成する必要があるため、 コストがかかる可能性があります。
このオプションは、Enterprise JavaBeans™ (EJB) クライアントと EJB が同一のクラス・ローダーにある場合にのみ使用することができます。 つまり、EJB クライアントと EJB が同一の EAR ファイル内にデプロイされる必要があります。
Enterprise JavaBeans (EJB) クライアントおよびサーバーが、同じ インスタンスまたは製品にインストールされていて、 かつ、クライアントとサーバーがリモート・インターフェースを使用している場合は、 参照による受け渡しオプションを使用可能にすることで、パフォーマンスを最高 50% 向上させることができます。 参照による受け渡しオプションによってパフォーマンスが改善されるのは、非プリミティブ・オブジェクト・タイプが パラメーターとして渡される場合だけです。 したがって、int および float は、呼び出しモデルに関係なく常にコピーされます。
コマンド行スクリプトを使用する場合、このシステム・プロパティーのフルネームは com.ibm.CORBA.iiop.noLocalCopies です。
データ型 | ブール |
デフォルト | 使用不可 (false) |
リモート・インターフェースでエンタープライズ Bean にこのオプションを使用すると、Enterprise JavaBeans (EJB) 仕様バージョン 2.0 に違反することになります (セクション 5.4 を参照)。Enterprise JavaBeans (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 値で製品に渡されます。 「参照による受け渡し」を使用可能にしてこのコードを実行すると 、アプリケーション・サーバー内に問題が生じます。これは、複数のエンタープライズ Bean が同じ MyPrimaryKey オブジェクトを参照するためです。 この問題を回避するには、「参照による受け渡し」オプションを使用可能にするときに、 com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation システム・プロパティーを true に設定します。 「参照による受け渡し」オプションを true に設定すると、EJB コンテナーが PrimaryKey オブジェクトのローカル・コピーを作成します。 ただし、その結果、「参照による受け渡し」オプションを設定することによるパフォーマンス上の利点が少し失われます。
一般に、オブジェクト参照をパラメーターとしてエンタープライズ Bean メソッドまたは EJB ホーム・メソッドに渡すアプリケーション・コードは、念入りに調べて、 そのオブジェクト参照を渡すことにより、データの保全性が失われるなどの問題が生じないかどうかを確認する必要があります。
ご使用のコードを確認後、com.ibm.CORBA.iiop.noLocalCopies システム・プロパティーを true に設定して、 「参照による受け渡し」オプションを使用可能にすることができます。 また、管理コンソールでも「参照による受け渡し」オプションを使用可能にすることができます。 「サーバー」>「サーバー・タイプ」>「アプリケーション・サーバー」>「server_name 」> 「コンテナー・サービス」>「ORB サービス」とクリックし、 「参照による受け渡し」を選択します。