WebコンテナとEJBコンテナの間の通信をIPCOMを使用してIIOP負荷分散をする場合は、以下の手順で環境構築します。
Webコンテナを使用せずに、クライアントからサーバのEJBアプリケーションを呼び出す場合は、以下を参照してください。
EJBコンテナの設定
EJBコンテナを配置するサーバには以下の設定が必要です。
EJBコンテナを配置するサーバにおいて、以下のhostsファイルに定義されている自サーバのホスト名とIPアドレスの設定文に対して、別名で、仮想IPアドレスのホスト名の宣言を追加します。
Windows(R)インストールフォルダ\system32\drivers\etc\hosts
/etc/hosts
宣言を追加した後、pingコマンドによりホスト名が解決されているかを確認してください。
例
以下に、EJBコンテナを配置するサーバグループのホスト名がhost1、仮想IPアドレスのホスト名がvhostの場合の記述例を示します。なお、「10.124.35.41」のIPアドレスは、host1の実IPアドレスです。
10.124.35.41 host1 vhost
作成したIJServerクラスタに対して以下の2つの項目を設定してください。
定義項目 | 設定内容 |
---|---|
最大メッセージ分割サイズの拡張 | ORBの送信データの最大メッセージ分割サイズを拡張して必ずデータが分割されない値に設定してください。
|
仮想ホスト名の指定 | IIOPリスナーのネットワークアドレスにIPCOMが存在する仮想ホスト名を指定してください。 |
ORBまたはIIOPリスナーの設定は、Interstage Java EE管理コンソール、およびasadminコマンドを使用して変更できます。詳細については、以下のマニュアルを参照してください。
Interstage Java EE管理コンソールヘルプ
注意
IJServerクラスタのEJBアプリケーションに対する負荷分散においては、メソッド呼び出し単位の負荷分散だけ実施できます。
IPCOM連携するアプリケーションを配備する場合、配備するモジュールがEJB-JARの場合にはsun-ejb-jar.xml、EARの場合にはsun-application.xmlのunique-idタグにIJServerクラスタで一意のIDを定義する必要があります。詳細は、「4.1.11 IPCOMと連携する場合の注意事項」を参照してください。
IPCOMの設定
IPCOMの設定は、IPCOMのマニュアルを参照してください。
負荷計測エージェントを必要とする分散方式のうち、「最小待ちメッセージ数」「最小通信バッファ使用率」は、Interstage Java EEでは利用できません。
負荷分散ポリシーのセション維持(一意性の保証)の設定は、コネクション単位の分散を行うように設定してください(コネクション単位の分散を推奨します)。
仮想ポート番号には、EJBコンテナを配置するサーバで、仮想ホスト名を指定したIIOPリスナーのポート番号を設定してください。
Webコンテナの設定
Webコンテナを配置するサーバには以下の設定が必要です。
Webコンテナを配置するサーバにおいて、以下のhostsファイルに、仮想ホスト名とEJBコンテナを配置するサーバのすべてのホスト名宣言を追加します。
Windows(R)インストールフォルダ\system32\drivers\etc\hosts
/etc/hosts
宣言を追加した後、pingコマンドによりホスト名が解決されているかを確認してください。
例
以下に、EJBコンテナを配置するサーバグループのホスト名がhost1、host2、仮想IPアドレスのホスト名がvhostの場合の記述例を示します。なお、「10.124.35.41」のIPアドレスは、host1の実IPアドレス、「10.124.35.42」のIPアドレスは、host2の実IPアドレスです。
10.124.35.30 vhost
10.124.35.41 host1
10.124.35.42 host2
Interstage deployment descriptorファイルに指定するJNDI名に仮想ホスト名を指定してください。詳細は、「4.1.11 IPCOMと連携する場合の注意事項」の「JNDI名に仮想ホスト名の指定」を参照してください。
IJServerクラスタから異なるIJServerクラスタのEJBアプリケーションを呼び出す場合、作成したIJServerクラスタに対して以下を設定してください。
定義項目 | 設定内容 |
---|---|
最大メッセージ分割サイズの拡張 | ORBの送信データの最大メッセージ分割サイズを拡張して必ずデータが分割されない値に設定してください。
|
ORBの設定は、Interstage Java EE管理コンソール、およびasadminコマンドを使用して変更できます。詳細については、以下のマニュアルを参照してください。
Interstage Java EE管理コンソールヘルプ
クライアントの設定(参考)
Webコンテナを使用せずに、クライアントからサーバのEJBアプリケーションを呼び出す場合は、以下を設定してください。
hostsファイルに、仮想ホスト名とEJBコンテナを配置するサーバのすべてのホスト名宣言を追加します。設定方法については「Webコンテナの設定」を参照してください。
「5.12.3 クライアントからサーバに接続する場合の設定」で指定する接続先のホスト名には、IPCOMが存在する仮想ホスト名を指定してください。
サーバに送信するリクエストメッセージのサイズが4096バイトを超える場合は、com.sun.corba.ee.giop.ORBFragmentSizeプロパティに、データが分割されないサイズを指定してください。
なお、データが分割されないためには、下記の条件を満たす必要があります。
4096バイト以上
アプリの通信データ長+1024バイト以上
プロパティ名 | 値 | 説明 |
---|---|---|
com.sun.corba.ee.giop.ORBFragmentSize | 最大メッセージ分割サイズ | サーバに送信するリクエストメッセージの最大メッセージ分割サイズを指定します。省略値は4096です。 |