EJBアプリケーションを呼び出す側の設定について以下に説明します。
IJServerクラスタの設定
呼び出し元がIJServerクラスタの場合、呼び出す接続先を指定する方法には以下の2つの方法があります。
JNDIサービスの設定で他ネーミングサービスの接続先を指定する
環境ネーミングコンテキストの設定で接続先を指定する
以下にそれぞれの指定方法について説明します。
JNDIサービスの設定で他ネーミングサービスの接続先を指定する
JNDIサービスの設定では、ネーミングサービスURLを指定することで、自サーバーインスタンスに指定されたJNDI名のオブジェクトリファレンスが登録されていない場合に、指定されたURLの別サーバーインスタンスのネーミングサービスに問い合わせを行うための設定ができます。
このURLにEJBアプリケーションを運用するサーバーインスタンスのIIOPリスナー情報を指定します。
詳細な定義方法については、「6.4.2 JNDIサービスの定義項目」を参照してください。
環境ネーミングコンテキストの設定で接続先を指定する
Interstage deployment descriptorファイルにInteroperable Naming Service(以降、INS)の規則を使用して、他プロセスまたはリモートサーバのホスト名、IIOPリスナーのポート番号、JNDI名を指定することができます。この設定にEJBアプリケーションが運用されているサーバーインスタンスのIIOPリスナー情報を指定します。
詳細は「2.14.2 環境ネーミングコンテキスト(Environment Naming Context)」を参照してください。
アプリケーションクライアントコンテナの設定
Interstage ACC deployment descriptor(sun-acc.xml)にtarget-server要素を定義します。このtarget-server要素には、EJBアプリケーションが運用されているサーバーインスタンスの接続先を指定します。target-server要素のname属性に一意の名前、address属性に接続先ホストをFQDN形式またはIPv4のIPアドレス、port属性にIIOPリスナーのポート番号を指定します。
property要素のプロパティcom.sun.appserv.iiop.loadbalancingpolicyは指定しない、もしくは、"disable"を指定してください。
例
<client-container> <target-server name="server1" address="host1" port="23700"/> <property name="com.sun.appserv.iiop.loadbalancingpolicy" value="disable"/> </client-container>
スタンドアロンクライアントの設定
エンドポイントの指定として以下を設定してください。このプロパティを指定する場合、同一プロセスで動作するアプリケーションでは同一の値を指定してください。同一サーバーインスタンス上のアプリケーションで別々の値を指定したり、途中で接続先を変更することはできません。システムプロパティのcom.sun.appserv.iiop.loadbalancingpolicyは指定しない、もしくは、"disable"を指定してください。
プロパティ名 | 値 | 説明 |
---|---|---|
com.sun.appserv.iiop.endpoints | ホスト名とポート番号のリスト | EJBアプリケーションを運用するサーバーインスタンスのホスト名とIIOP通信ポート番号を以下の書式で指定します。 ホスト名:ポート番号 例) host1:23700 |
例
-Dcom.sun.appserv.iiop.loadbalancingpolicy=disable
-Dcom.sun.appserv.iiop.endpoints=host1:23700
com.sun.appserv.iiop.loadbalancingpolicyプロパティにロードバランスポリシーとして以下を設定できます。EJBディスパッチ機能を使用する場合には、ロードバランスポリシーを指定しないか、もしくは”disable”を指定してください。
プロパティ名 | 値 | 説明 |
---|---|---|
com.sun.appserv.iiop.loadbalancingpolicy | disable | ロードバランスを使用しない、もしくは、EJBディスパッチ機能によるロードバランスを使用します。 |
IJServerクラスタの設定
呼び出し元がIJServerクラスタの場合、呼び出す接続先を指定する方法には以下の2つの方法があります。
JNDIサービスの設定で他ネーミングサービスの接続先を指定する
環境ネーミングコンテキストの設定で接続先を指定する
両方指定した場合には2.の方法が優先されます。以下にそれぞれの指定方法について説明します。
JNDIサービスの設定で他ネーミングサービスの接続先を指定する
JNDIサービスの設定では、ネーミングサービスURLを指定することで、自サーバーインスタンスに指定されたJNDI名のオブジェクトリファレンスが登録されていない場合に、指定されたURLの別サーバーインスタンスのネーミングサービスに問い合わせを行うための設定ができます。
このURLにEJBディスパッチャを運用するサーバーインスタンスのIIOPリスナー情報を指定します。詳細な定義方法については、「6.4.2 JNDIサービスの定義項目」を参照してください。
環境ネーミングコンテキストの設定で接続先を指定する
Interstage deployment descriptorファイルにInteroperable Naming Service(以降、INS)の規則を使用して、他プロセスまたはリモートサーバのホスト名、IIOPリスナーのポート番号、JNDI名を指定することができます。この設定にEJBディスパッチャが運用されているサーバーインスタンスのIIOPリスナー情報を指定します。
詳細は「2.14.2 環境ネーミングコンテキスト(Environment Naming Context)」を参照してください。
アプリケーションクライアントコンテナの設定
Interstage ACC deployment descriptor(sun-acc.xml)にtarget-server要素を定義します。このtarget-server要素には、EJBディスパッチャが運用されているサーバーインスタンスの接続先を指定します。EJBディスパッチャを運用するサーバーインスタンスが異常停止する場合を考慮し、IJServerクラスタを複数サーバーインスタンスで運用している場合には、複数のエンドポイントを指定してください。複数指定すると、先頭に指定したターゲットから順番にアクセスされます。
target-server要素のname属性に一意の名前、address属性に接続先ホストをFQDN形式またはIPv4のIPアドレス、port属性にIIOPリスナーのポート番号を指定します。
property要素のプロパティcom.sun.appserv.iiop.loadbalancingpolicyは指定しない、もしくは、"disable"を指定してください。
例
<client-container> <target-server name="server1" address="host1" port="23700"/> <target-server name="server2" address="host1" port="23701"/> <property name="com.sun.appserv.iiop.loadbalancingpolicy" value="disable"/> </client-container>
スタンドアロンクライアントの設定
エンドポイントの指定として以下を設定してください。このプロパティを指定する場合、同一プロセスで動作するアプリケーションでは同一の値を指定してください。同一サーバーインスタンス上のアプリケーションで別々の値を指定したり、途中で接続先を変更することはできません。システムプロパティのcom.sun.appserv.iiop.loadbalancingpolicyは指定しない、もしくは、"disable"を指定してください。
プロパティ名 | 値 | 説明 |
---|---|---|
com.sun.appserv.iiop.endpoints | ホスト名とポート番号のリスト | ロードバランスを行う場合、EJBディスパッチャを運用するサーバーインスタンスのホスト名とIIOP通信ポート番号を以下の書式で指定します。 ホスト名:ポート番号[,ホスト名:ポート番号,...] 例) host1:23700,host1:23701 |
例
-Dcom.sun.appserv.iiop.loadbalancingpolicy=disable
-Dcom.sun.appserv.iiop.endpoints=host1:23700,host1:23701
com.sun.appserv.iiop.loadbalancingpolicyプロパティにロードバランスポリシーとして以下を設定できます。プロパティのデフォルト値は"disable"であるため、グループ管理サービスによるロードバランスを使用する場合には必ず指定してください。
プロパティ名 | 値 | 説明 |
---|---|---|
com.sun.appserv.iiop.loadbalancingpolicy | ic-based | グループ管理サービスによるロードバランス機能を使用します。各サーバーインスタンスに均等にロードバランスします。 |
IJServerクラスタの設定
呼び出し元がIJServerクラスタの場合、IJServerクラスタから他プロセスまたはリモートサーバのネーミングサービスに登録されたEnterprise JavaBeanにアクセスすることはできません。
アプリケーションクライアントコンテナの設定
Java EEアプリケーションクライアントの接続にRMI-IIOPロードバランスを使用する場合、Interstage ACC deployment descriptor(sun-acc.xml)にtarget-server要素を定義してください。
target-server要素のname属性に一意の名前、address属性に接続先ホストをFQDN形式またはIPv4のIPアドレス、port属性にIIOPリスナーのポート番号を指定します。さらにproperty要素にプロパティcom.sun.appserv.iiop.loadbalancingpolicyを指定してください。com.sun.appserv.iiop.loadbalancingpolicyを指定しなかった場合にはロードバランスされません。また、ロードバランスは最初に指定したエンドポイントと同じIJServerクラスタの中で行われます。target-server要素に異なるIJServerクラスタに属したエンドポイントを定義しても無視されます。
例
<client-container> <target-server name="server1" address="host1" port="23700"/> <target-server name="server2" address="host1" port="23701"/> <property name="com.sun.appserv.iiop.loadbalancingpolicy" value="ic-based"/> </client-container>
スタンドアロンクライアントの設定
システムプロパティにcom.sun.appserv.iiop.loadbalancingpolicyまたはエンドポイントの指定として以下を設定してください。このプロパティを指定する場合、同一プロセスで動作するアプリケーションでは同一の値を指定してください。同一サーバーインスタンス上のアプリケーションで別々の値を指定したり、途中で接続先を変更することはできません。
プロパティ名 | 値 | 説明 |
---|---|---|
com.sun.appserv.iiop.endpoints | ホスト名とポート番号のリスト | ロードバランスを行う場合、ホスト名とIIOP通信ポート番号を以下の書式で指定します。 ホスト名:ポート番号[,ホスト名:ポート番号,...] 例) host1:23700,host1:23701 |
例
-Dcom.sun.appserv.iiop.loadbalancingpolicy=ic-based
-Dcom.sun.appserv.iiop.endpoints=host1:23700,host1:23701