ORB を構成するには、いくつかの方法があります。 例えば、 ORB カスタム・プロパティー設定またはシステム・プロパティー設定を使用して ORB を 構成したり、ORB の初期化中にオブジェクトを指定したりすることができます。 以下の ORB カスタム・プロパティーを使用して ORB を構成する場合、 一部のプロパティーのデフォルト値には、JDK のデフォルト値と WebSphere Application Server のデフォルト値の、2 つのタイプが あることを理解しておく必要があります。
WebSphere Application Server はデフォルト値を明示的に設定するため、 WebSphere Application Server と JDK のデフォルト値の両方がプロパティーに対して 定義されている場合、WebSphere Application Server のデフォルトが JDK のデフォルトよりも優先されます。
ORB プロパティーを指定する他の方法および優先順位について詳しくは、 使用している JDK のバージョンの JDK 診断ガイドを参照してください。 これらのガイドは、http://www.ibm.com/developerworks/java/jdk/diagnosis/ で入手可能です。
WebSphere Application Server の orb.properties ファイルは、 WebSphere Application Server の was_home/java/jre/lib ディレクトリーにあり、WebSphere Application Server のインストール・プロセス中に、WebSphere Application Server のデフォルト値に初期設定される、WebSphere Application Server の ORB カスタム・プロパティーが含まれています。
管理コンソールで、ORB カスタム・プロパティーの新しい値を指定することができます。 これらのプロパティーに対してユーザーが指定する値は、JDK または WebSphere Application Server のデフォルト値より優先されます。 管理コンソールでユーザーが指定する ORB カスタム・プロパティー設定は、WebSphere Application Server の server.xml システム・ファイル内に 保管され、ORB が初期化されるたびに、 プロパティー・オブジェクトで ORB に渡されます。
管理コンソールを使用して ORB カスタム・プロパティーを設定するには、管理コンソールで、 「サーバー」>「アプリケーション・サーバー」>「server_name」>「コンテナー・サービス 」>「ORB サービス」>「カスタム・プロパティー」とクリックします。 次に、リストされた カスタム・プロパティーのいずれかの設定を変更するか、「新規」をクリックしてリストに新規プロパティーを追加します。 次に、「適用」をクリックして、変更を保管します。 変更を終了したら、「OK」をクリックしてから「保管」をクリックして変更を保管します。
java -Dcom.ibm.CORBA.propname1=value1 -Dcom.ibm.CORBA.propname2=value2 ... application name
launchclient yourapp.ear -CCDcom.ibm.CORBA.propname1=value1 -CCDcom.ibm.CORBA.propname2=value2 ... optional application arguments
カスタム・プロパティー・ページには、WebSphere Application Server のインストール時に 追加された Secure Sockets Layer (SSL) のプロパティーが既に含まれていることがあります。 Java ORB サービスに関連付けられた追加プロパティーのリストは以下のとおりです。 特に説明のない場合、これらのプロパティーの説明で提供されるデフォルト値は JDK のデフォルト値です。
このクライアントの初期サーバー接点が存在するマシンの ドメイン・ネーム・サービス (DNS) ホスト名 または IP アドレスを指定します。この設定の使用は推奨されません。また、この設定は、 今後のリリースでは除去される予定です。
コマンド行またはプログラマチックな代替については、 『Java オブジェクト・リクエスト・ブローカー (ORB) サービスの ためのクライアント・サイド・プログラミングのヒント』を参照してください。
ORB がブートストラッピングのために接続するポートを指定します。 すなわち、このクライアントの初期のサーバー接点が listen しているマシンのポートです。この設定の使用は推奨されません。また、この設定は、 今後のリリースでは除去される予定です。
コマンド行またはプログラマチックな代替については、 『Java オブジェクト・リクエスト・ブローカー (ORB) サービスの ためのクライアント・サイド・プログラミングのヒント』を参照してください。
デフォルト | 2809 |
com.ibm.CORBA.ConnectTimeout プロパティーは、 リモート・サーバー ORB との IIOP 接続を確立しようとしたときに、 クライアント ORB がタイムアウトするまで待機する最大時間 (秒) を設定します。 一般的には、クライアント・アプリケーションがこのプロパティーを使用します。 アプリケーション・サーバーは、デフォルトではこのプロパティーを使用しません。 ただし、必要であれば、管理コンソールを介して、このプロパティーを 個々のアプリケーション・サーバーに対して指定することができます。
launchclient clientapp.ear -CCDcom.ibm.com.CORBA.ConnectTimeout=10...
まず手始めにタイムアウト値を 20 秒から 30 秒に設定しますが、 ネットワーク輻輳やアプリケーション・サーバーの負荷と容量などの要素を考慮してください。 これより小さい値を指定すると、 フェイルオーバー・パフォーマンスが向上しますが、 リモート・サーバーが接続を完了するための時間が不十分な場合は、例外になることがあります。
有効範囲 | 0-300 (秒) |
デフォルト | 0 (クライアント ORB は無制限に待機) |
要求 (セキュアである場合は、 要求に関連付けられた保護の品質特性) に使用するアウトバウンド IIOP 接続のタイプを決定するために使用される 接続インターセプター・クラスを指定します。
WebSphere Application Server のデフォルト | com.ibm.ISecurityLocalObjectBaseL13Impl.SecurityConnectionInterceptor |
JDK のデフォルト | なし。 |
ORB が、WebSphere Application Server セルでオブジェクトを見つけるために、 位置指定要求メカニズムを使用するかどうかを指定します。 パフォーマンス・チューニングのためにこのプロパティーを使用します。
このプロパティーを true に設定すると、ORB はまずサーバーに短メッセージを送信し、 アクセスする必要があるオブジェクトを見つけます。 この最初の接触は、位置指定要求 と呼ばれます。 初期メソッドの起動のほとんどが非常に小さい場合、 このプロパティーを false に設定すると、パフォーマンスが向上する場合があります。 これは、この設定の変更により GIOP トラフィックを約半分に削減することができるためです。 初期メソッドの起動のほとんどが大きい場合、大きなメッセージの代わりに、 小さな位置指定要求メッセージが送信されるように、このプロパティーを true に設定する必要があります。 大きなメッセージは、必要なオブジェクトが見つかった後、適切なターゲットに送信されます。
WebSphere Application Server のデフォルト | true |
JDK のデフォルト | false |
ORB によって使用される General Inter-ORB Protocol (GIOP) フラグメントのサイズを指定します。要求の合計サイズが設定値を超える場合、ORB は要求を分割し、要求全体が送信されるまで複数のフラグメントを送信します。スタンドアロンで Java アプリケーションを使用している場合は、 このプロパティーはクライアント・サイドで -D システム・プロパティーに設定されます。
たいていの General Inter-ORB Protocol (GIOP) では、Internet Inter-ORB Protocol (IIOP) を 介して送信されるデータ量が 1 キロバイトを超えた場合、またはスレッド・ ダンプで、ほとんどのクライアント側スレッドがデータの送受信中に待機し ていると考えられることが示されている場合、 com.ibm.CORBA.FragmentSize プロパティーを調整します。 大半のメッセージがほとんどフラグメントを持たないか、または全く持たないように、このプロパティーを調整します。
ORB によって、送信される要求または応答が中断されないようにする場合は、 このプロパティーを 0 (ゼロ) に設定してください。 ただし、値をゼロに設定すると、 ORB は、既存 の別の ORB によって送信された要求または応答内の GIOP フラグメントを受け取ることができなくなります。
単位 | バイト |
デフォルト | 1024 |
範囲 | 64 から Java 整数型の最大値 (8 で割り切れる数) まで |
このサーバーが着信要求を listen するポートを指定します。 このプロパティーの設定は、クライアント・サイドの ORB の場合のみ有効です。
デフォルト | 次に使用可能な、システムが割り当てるポート番号 |
範囲 | 0 から 2147483647 |
サーバー ORB が稼働しているシステムのホスト名または IP アドレスを指定します。 このプロパティーの値が未指定である場合、WebSphere Application Server は、ORB の初期化中に、 このプロパティーを、serverindex.xml の BOOTSTRAP_ADDRESS エンドポイントに指定された ホスト名または IP アドレスに設定します。 クライアント・アプリケーションの場合、このプロパティーに値を設定しないと、ORB は、 InetAddress.getLocalHost().getHostAddress() メソッドを呼び出して実行時に値を取得します。
ORB のデフォルトの RAS マネージャーに対する代替策を指定します。 ORB を残りの WebSphere Application Server RAS 処理と統合できるようにするには、 このプロパティーを com.ibm.websphere.ras.WsOrbRasManager に設定する必要があります。
WebSphere Application Server のデフォルト | com.ibm.websphere.ras.WsOrbRasManager |
JDK のデフォルト | なし。 |
WebSphere Application Server ORB が未処理のままにしておくことができる接続要求の最大数を指定します。 この数に達すると、アプリケーション・サーバーが始動して、以後新しく着信する接続要求をリジェクトします。 このプロパティーは、 ServerSocket コンストラクターの backlog 引数に相当し、 TCP/IP によって直接処理されます。
トレース・ログに「接続が拒否されました」というメッセージが表示される場合、 通常は、ターゲット・マシンのポートが開いていないか、サーバーがキューに入れられた接続要求で 過負荷になっているかのどちらかです。システムにそれ以外の問題が見当たらない場合は、 このプロパティーに指定した値を増やすと、この問題が改善される場合があります。
デフォルト | 50 |
範囲 | 50 から Java int 型の最大値まで |
サーバー ORB が CORBA システム例外を検出したときに戻される例外詳細メッセージに、 java.lang.Throwable クラスの toString メソッドによって戻される例外の簡略説明を含むことを指定します。それ以外の場合、 メッセージには、java.lang.Throwable クラス の printStackTrace メソッドによって戻される完全なスタック・トレースが 含まれます。
セキュア・アウトバウンド IIOP 接続用の SSL ソケットを作成するために ORB が使用するクラスを指定します。
WebSphere Application Server のデフォルト | com.ibm.ws.security.orbssl.WSSSLClientSocketFactoryImpl |
JDK のデフォルト | なし。 |
インバウンド IIOP 接続用の SSL ソケットを作成するために ORB が使用するクラスを指定します。
WebSphere Application Server のデフォルト | com.ibm.ws.security.orbssl.WSSSLServerSocketFactoryImpl |
JDK のデフォルト | なし。 |
このプロパティーは、インクリメンタル・セル・アップグレードを 実行している混合リリース・クラスターをユーザーが持ち、 少なくとも 1 つが V5.1.1 より前のリリースである場合に適用されます。
混合リリース・セルが含まれる環境では、マイグレーション・プログラムが このプロパティーを自動的に 1 に設定します。
すべてのクラスター・メンバーを同じリリースにアップグレードした後、 ORB カスタム・プロパティーのリストからこのプロパティーを除去するか、 このプロパティーに指定された値を 2 に変更することができます。 いずれのアクションでも、パフォーマンスが向上します。
このプロパティーが 1 に設定されている場合、ORB はバージョン 1 オブジェクト ID を 使用して実行します。これは、V5.1.1 より前のリリースのアプリケーション・サーバーを含む混合セルで必要となります。 このプロパティーの値を指定しないか、 このプロパティーを 2 に設定した場合、ORB はバージョン 2 オブジェクト ID を 使用して実行します。これは、V5.1.1 より前のアプリケーション・サーバーでは使用できません。
IIOP Tunnel Servlet が、 各ターゲット・ホストとポートごとに、 接続キャッシュで保守する必要がある、 接続の最大数を指定します。 単一のホストとポートに対する並行クライアント要求の数が、 このプロパティーの設定値を超えた場合、IIOP Tunnel Servlet は、追加の各クライアント要求に対して、 ターゲット・サーバーへの接続を一時的に開き、 応答を受け取った後に接続を閉じます。 開いても 5 分以内に使用されなかった接続は、IIOP Tunnel Servlet のキャッシュから除去されます。
WebSphere Application Server のデフォルト | 3 |
JDK のデフォルト | 該当なし |
範囲 | 0 - Java で認識される最大の整数 |
タイムアウトになるまでに、IIOP Tunnel Servlet が、 クライアントの代わりにターゲット・サーバーからの応答を待つ時間 (秒数) を指定します。 このプロパティーの値が指定されない場合、または誤って指定された場合、 IIOP Tunnel Servlet がインストールされているアプリケーション・サーバーの com.ibm.CORBA.RequestTimeout プロパティー 設定が、com.ibm.ws.orb.services.redirector.RequestTimeout プロパティーの設定として使用されます。
このプロパティーに対してユーザーが指定する値は、 少なくとも com.ibm.CORBA.RequestTimeout プロパティーの最高のクライアント設定と同じである必要があります。 そうでない場合、IIOP Tunnel Servlet は、応答を待っている間に、クライアントが通常タイムアウトになる よりも早くタイムアウトになる場合があります。 このプロパティーがゼロに設定されている場合、IIOP Tunnel Servlet はタイムアウトになりません。
WebSphere Application Server のデフォルト | IIOP Tunnel Servlet がインストールされているアプリケーション・サーバーの com.ibm.CORBA.RequestTimeout プロパティー設定。 |
JDK のデフォルト | 該当なし |
範囲 | 0 - Java で認識される最大の整数 |
WebSphere Application Server ORB が、システム内のすべての ネットワーク・インターフェースにバインドするかどうかを指定します。 true に指定されている場合、ORB は、 使用可能なすべてのネットワーク・インターフェースにバインドします。 false に指定されている場合、 ORB は、com.ibm.CORBA.LocalHost システム・プロパティーに指定されているネットワーク・インターフェースにのみバインドします。
WebSphere Application Server のデフォルト | true |
JDK のデフォルト | true |
ORB が引数をマーシャルする (値によって渡す) か、参照によってオブジェクトを戻すかを指定します。
このプロパティーは、javax.rmi.CORBA.Util クラスでメソッド実装の代行をサポートします。 javax.rmi.CORBA.Util クラスは、共通オペレーションを実行するために、 スタブおよびタイが使用できるユーティリティー・メソッドを提供します。 代行は、 このインターフェースを実装し、javax.rmi.CORBA.Util のすべてのメソッドの置き換え実装を提供するクラスのシングルトン・インスタンスです。 代行を有効にするには、 代行のクラス名を javax.rmi.CORBA.UtilClass システム・プロパティーの値として指定します。 デフォルト値は、com.ibm.CORBA.iiop.noLocalCopies プロパティーに対するサポートを指定します。
WebSphere Application Server のデフォルト | com.ibm.ws.orb.WSUtilDelegateImpl |
JDK のデフォルト | なし。 |