このページを使用して、Java オブジェクト・リクエスト・ブローカー (ORB) サービスを構成します。
この管理コンソール・ページを表示するには、「サーバー」>「アプリケーション・サーバー」>「serverName」>「ORB サービス」をクリックします。
内部オブジェクト・リクエスト・ブローカー (ORB) 処理を制御するために、いくつかの設定値が使用可能です。 Enterprise Bean を含むアプリケーションの場合、これらの設定値を使用してアプリケーション・パフォーマンスを向上させます。 デフォルト・サーバーまたは管理可能ドメイン内に構成されている任意のアプリケ ーション・サーバーについて、これらの設定値を変更することができます。
「構成」タブ
コマンド行スクリプトで使用する場合、このシステム・プロパティーの完全名は com.ibm.CORBA.RequestTimeout です。
| データ型 | 整数 |
| 単位 | 秒 |
| デフォルト | 180 |
| 範囲 | 0 から 300 |
コマンド行スクリプトで使用する場合、このシステム・プロパティーの完全名は com.ibm.CORBA.requestRetriesCount です。
| データ型 | 整数 |
| デフォルト | 1 |
| 範囲 | 1 から 10 |
コマンド行スクリプトで使用する場合、このシステム・プロパティーの完全名は com.ibm.CORBA.requestRetriesDelay です。
| データ型 | 整数 |
| 単位 | ミリ秒 |
| デフォルト | 0 |
| 範囲 | 0 から 60 |
コマンド行スクリプトで使用する場合、このシステム・プロパティーの完全名は com.ibm.CORBA.MaxOpenConnections です。
| データ型 | 整数 |
| 単位 | 接続数 |
| デフォルト | 240 |
| データ型 | 整数 |
| 単位 | 接続数 |
| デフォルト | 100 |
この設定は、2 つのシステム・プロパティー (com.ibm.CORBA.Debug と com.ibm.CORBA.CommTrace) に影響を与えます。 コマンド行スクリプトを使用してこの 2 つのプロパティーを設定する場合は、 どちらも「true」に設定して、GIOP メッセージのトレースを使用可能にしなければなりません。
| データ型 | ブール |
| デフォルト | 使用不可 (false) |
コマンド行スクリプトで使用する場合、このシステム・プロパティーの完全名は com.ibm.CORBA.LocateRequestTimeout です。
| データ型 | 整数 |
| 単位 | 秒 |
| デフォルト | 180 |
| 範囲 | 0 から 300 |
直接アクセスの場合、このプロパティーの完全名は com.ibm.CORBA.ForceTunnel です。
| データ型 | ストリング |
| デフォルト | 常になし |
| 範囲 | 有効な値は「常に行う」、「常になし」、または「要求時」です。 |
以下は、有効な値についての追加情報です。
これは、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 です。
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 ホーム・メソッドに渡すアプリケーション・コードは、念入 りに調べて、そのオブジェクト参照を渡すことにより、データの保全性が失わ れるなどの問題が生じないかどうかを確認する必要があります。