ページの先頭行へ戻る
Interstage Application Server V12.0.0 Java EE 7 設計・構築・運用ガイド
FUJITSU Software

6.11.1 ORB

Java EEは、異なるマシンに配置されているオブジェクトや別プロセスのオブジェクト間でリクエストを呼び出す場合、ORBを介してIIOP通信できます。

ORBの設定について以下に説明します。

設定項目

IJServerクラスタの場合

ORB設定

デフォルト値

意味

効果

総接続数

1024

IIOP通信の最大同時接続数を指定します。(注1)
総接続数を超えて同時に通信することはできません。(注2)

最大同時接続数を指定することによって、コネクション接続で使用するメモリやリソースを制御します。

最大メッセージ分割サイズ
(Byte単位)

1024

IIOPメッセージの最大フラグメントサイズを設定します。(注3)(注4)(注5)(注6)
Java EEアプリケーション呼出し時にだけ有効です。

IIOPメッセージのエンコード処理を最大フラグメントサイズで行います。全データをまとめてエンコードするのに比べて使用するJavaヒープ領域を圧縮できます。

アプリケーションクライアントコンテナまたはスタンドアロンクライアントの場合

ORB設定

デフォルト値

意味

効果

最大メッセージ分割サイズ
(Byte単位)

4096

IIOPメッセージの最大フラグメントサイズを設定します。(注3)(注4)(注5)(注6)
Java EEアプリケーション呼出し時にだけ有効です。

IIOPメッセージのエンコード処理を最大フラグメントサイズで行います。全データをまとめてエンコードするのに比べて使用するJavaヒープ領域を圧縮できます。

1) 確立済みの接続が存在する場合、その接続を使用して通信します。例えば、あるプロセスがマルチスレッドでリクエストを呼び出した場合、呼出し先が単一プロセスならば、接続は1つだけ使用されます。

2) 接続数がこの値を超えるとアイドル状態の接続の回収(コネクション切断)が行われます。使用中の接続数が総接続数まで到達している状態で、新規接続を行おうとすると、新規接続のコネクション自身が回収されます。

3) 最大メッセージ分割サイズはデータ送信時の設定であり、クライアントからのリクエスト送信時と、サーバーからのリプライ送信時に有効な機能になります。
例えば、エンコードされた通信データが70000Byteで、最大メッセージ分割サイズが30000Byteの場合、図のように分割して、IIOP通信が開始されます。

送信された通信データは、受信側の受信バッファに格納された後、先頭データから順に業務データにデコードされ、ユーザアプリケーションに渡されます。


4) 1024Byteより小さな値は、設定しないでください。最大メッセージ分割サイズが1024Byteより小さい場合、想定される最大クライアント多重度の2倍のスレッドが必要になります。このため、サーバー側で必要なスレッド数が見積もり数を超過してしまう可能性があります。

5) 256000以上の値を設定する場合、接続先の最大受信バッファサイズを本設定値より大きい値にする必要があります。最大受信バッファサイズについては、「6.11.2 通信データサイズに関する注意事項」を参照してください。

6) 設定値は、Java VM上でのヒープ使用量に影響します。
最大メッセージ分割サイズにより、IIOP通信時に獲得するバッファ領域のサイズが変動しますので、最大メッセージ分割サイズを変更する際は、実際に送受信される業務データとは別に、最大メッセージ分割サイズの設定によるヒープ使用量を考慮して、Java VMのヒープ領域サイズを見積もってください。

以下の計算式のうち、大きいほうの結果が必要なヒープ使用量になります。

設定方法

総接続数

asadminコマンドを使用して変更/参照できます。詳細については、「総接続数」を参照してください。
設定変更時は、IJServerクラスタを再起動する必要があります。

最大メッセージ分割サイズ
  • IJServerクラスタの場合

    asadminコマンドを使用して変更/参照できます。詳細については、「最大メッセージ分割サイズ」を参照してください。
    設定変更時は、IJServerクラスタを再起動する必要があります。

  • アプリケーションクライアントコンテナに設定する場合

    環境変数VMARGSに以下の値を設定します。詳細については、「4.9.1 Java EEアプリケーションクライアントの環境設定」を参照してください。

    -Dcom.sun.corba.ee.giop.ORBFragmentSize=設定値
  • スタンドアロンクライアントの場合

    Java VMオプションに以下の値を設定します。

    -Dcom.sun.corba.ee.giop.ORBFragmentSize=設定値