Application Server 7 PE/SE に配備されたリッチクライアントを Application Server 8.2 に移行するのは比較的簡単です。Application Server 7 で使用していた配備記述子は、Application Server 8.2 でもそのまま使用できます。ただし、クライアントアプリケーションでロードバランス機能とフェイルオーバー機能を有効にする場合は、配備記述子でロードバランス機能とフェイルオーバー機能を設定する必要があります。
以前にインストールされたコンポーネントを特定します。
asadmin コマンドまたはディレクトリの一覧表示を使用して、サーバーインスタンスを見つけます。
asadmin コマンドを使用する場合は、管理インスタンスが実行されている必要があります。一方、ディレクトリの一覧表示を使用してインスタンスを特定する場合は、管理インスタンスが実行されている必要はありません。
RMI/IIOP フェイルオーバー機能を有効にするため、server.xml ファイルの jvm-config 要素の下に次の jvm-option を追加します。
<jvm-config java-home=path...server-classpath=path> <jvm-option> Dorg.omg.PortableInterceptor.ORBInitializerClass. com.sun.appserv.ee.iiop.EEORBInitializer </jvm-option> <jvm-option> Dorg.omg.PortableInterceptor.ORBInitializerClass. com.sun.appserv.ee.iiop.EEIORInterceptorInitializer </jvm-option> <jvm-option> Dcom.sun.CORBA.connection.ORBSocketFactoryClass= com.sun.appserv.enterprise.iiop.EEIIOPSocketFactory </jvm-option> </jvm-config>
availability-service 要素を更新して availability-enabled フラグを true に設定します。
<availability-service availability-enabled="true"> <persistence-store> <property-name="store-pool-jndi-name" value="" /> <property-name="cluster-id" value="cluster1" /> </persistence-store> </availability-service> |
java-config 要素の下のサーバークラスパスエントリを変更して次のパスを追加します。
install_dir/SUNWhads/ 4.2.2-17/lib/hadbjdbc.jar;
install_dir/lib/appserv-rt-ee.jar
java-config 要素の下に次の jvm-option を追加します。
<jvm-option> |
Dcom.sun.aas.hadbRoot=install-dir/ SUNWhadb/4.2.2-17
</jvm-option> |
次の新しいロードバランスプロパティーを使用して sun-acc.xml を更新します。
<property-name="com.sun.appserv.iiop.loadbalancingpolicy" value="ic-based" /> <property name="com.sun.appserv.iiop.endpoints" value=<host>:<port>" />
7 EE のアプリケーションを 8.2 EE に移行するには、次の手順に従います。
RMI/IIOP フェイルオーバー機能を有効にするため、java-config 要素の下に次の jvm-option 要素を追加します。次の jvm-option 要素のクラス名は、ページ幅に合わせて 2 行に分けて表示しています。プロジェクトに追加するときは、このように 2 行に分けないでください。
<jvm-config java-home=path...server-classpath=path> <jvm-option> Dorg.omg.PortableInterceptor.ORBInitializerClass. com.sun.appserv.ee.iiop.EEORBInitializer </jvm-option> <jvm-option> Dorg.omg.PortableInterceptor.ORBInitializerClass. com.sun.appserv.ee.iiop.EEIORInterceptorInitializer </jvm-option> <jvm-option> Dcom.sun.CORBA.connection.ORBSocketFactoryClass= com.sun.appserv.enterprise.iiop.EEIIOPSocketFactory </jvm-option> </jvm-config>
iiop-cluster を設定するため、server.xml に次のエントリを追加します。
<iiop-cluster> <iiop-server-instance name=<server-name>> <iiop-endpoint id=orb-listener-id, host=hostname, port=orb-listener-port/> </iiop-server-instance> </iiop-cluster> |
次の新しいエントリを使用して sun-acc.xml を更新します。
<property-name=¨com.sun.appserv.iiop.loadbalancingpolicy" value="ic-based" /> <property name="com.sun.appserv.iiop.endpoints" value="hostname:port" />
Application Server 7 は、ステートフルセッション Bean (SFSB) のフェイルオーバーをサポートしません。Application Server Enterprise Edition 8.2 は、HTTP および RMI/IIOP パス上のステートフルセッション Bean のフェイルオーバーをサポートします。この節では、SFSB 状態のフェイルオーバーをサポートする EJB アプリケーションを Application Server 7 SE/PE/EE から Application Server 8.2 EE に移行する手順について説明します。
ステートフルセッション Bean を使用してデータを持続する EJB アプリケーションの高可用性を実現するには、アプリケーションサーバーのクラスタごとに持続的ストアを設定し、個々のアプリケーションサーバーインスタンスの潜在的障害に対してクライアントセッションの情報を管理できるようにする必要があります。また、クラスタ内の各サーバーインスタンスの availability-enabled フラグを有効にする必要があります。
Application Server 8.2 EE は、ステートフルセッション Bean のフェイルオーバーをサポートします。Application Server 8.2 EE に配備された EJB アプリケーションでこの機能を有効にするには、次の手順に従います。
以前にリリースされた Sun の Application Server からエンティティー Bean を移行するには、「エンティティー Bean」で説明した手順に従います。
SFSB フェイルオーバーは、同じアプリケーションサーバープロセスで実行されているアプリケーション内の EJB、サーブレット、または Java Server Pages から SFSB にアクセスする場合にサポートされます。SFSB には、ローカルインタフェースまたはリモートインタフェース経由でアクセスできます。
SFSB 状態のフェイルオーバーを利用するために、コードを編集する必要はありません。ただし、SFSB のチェックポイント化に必要なすべての設定パラメータを Sun 固有の配備記述子 (sun-ejb-jar.xml) またはサーバー設定ファイルに指定する必要があります。
SFSB フェイルオーバーの詳細については、『Sun Java System Application Server Enterprise Edition 8.2 高可用性 (HA) 管理ガイド』の「ステートフルセッション Bean のフェイルオーバー」を参照してください。