配備記述子には、標準配備記述子と実行時配備記述子の 2 種類があります。標準配備記述子は、J2EE プラットフォームのバージョン間やベンダー間で移植性があり、変更を必要としません。現時点では、標準規格の解釈による例外があります。次の表は、そのような配備記述子の一覧です。
ソース配備記述子 |
ターゲット配備記述子 |
ejb-jar.xml - 1.1 |
ejb-jar.xml - 2.0 |
web.xml |
web.xml |
application.xml |
application.xml |
J2EE の標準配備記述子 ejb-jar.xml、web.xml、および application.xml には、大幅な変更はありません。ただし、アプリケーションを Sun Java System Application Server 8.2 上に配備できるようにするため、ejb-jar.xml 配備記述子は EJB 2.0 仕様に準拠するように変更されています。
実行時配備記述子は、ベンダーおよび製品に固有のものであり、その形式が異なるため、アプリケーションサーバー間で移植性がありません。このため、配備記述子の移行が必要です。この節では、実行時配備記述子を手動で作成し、関連する情報を移行する方法について説明します。
次の表に、配備記述子の移行マッピングの概要を示します。
ソース配備記述子 |
ターゲット配備記述子 |
ias-ejb-jar.xml |
sun-ejb-jar.xml |
<bean-name>-ias-cmp.xml |
sun-cmp-mappings.xml |
ias-web.xml |
sun-web.xml |
Application Server 8.2 に移行するときは、DTD が適合しないため、Application Server 6.x の標準配備記述子を変更する必要があります。
sun-ejb-jar.xml と sun-web.xml を作成するために必要な情報の大部分は、それぞれ ias-ejb-jar.xml と ias-web.xml に由来します。ただし、移行する sun-ejb-jar.xml に宣言がある場合は、一部の必要な情報が CMP エンティティー Bean のホームインタフェース (.java ファイル) から抽出されます。これは、その CMP エンティティー Bean のホームインタフェース内の情報を必要とする sun-ejb-jar.xml 内の <query-filter> コンストラクトを構築するために必要な条件です。移行時にこのソースファイルが見つからない場合は、移行された sun-ejb-jar.xml に <query-filter> コンストラクトが作成されますが、情報は設定されず、「REPLACE ME」の形で表されます。
さらに、ias-ejb-jar.xml に <message-driven> 要素が含まれている場合は、この要素内の情報が取得され、ejb-jar.xml と sun-ejb-jar.xml の両方に情報を設定するために使用されます。また、ias-ejb-jar.xml の <message-driven> 要素内には、MDB が待機するトピックまたはキューの JNDI 名を保持する <destination-name> 要素があります。Application Server 6.5 では、この JNDI 名の命名規則は cn=<SOME_NAME> です。この名前を持つ JMS トピックまたはキューは Application Server に配備できないため、アプリケーションサーバーはこれを <SOME_NAME> に変更し、この情報を sun-ejb-jar.xml に挿入します。この変更を、すべての有効な入力ファイル (すべての .java ファイル、.jsp ファイル、および .xml ファイル) に反映してください。このため、この JNDI 名の変更はアプリケーション全体に伝達されます。この JNDI 名への参照を含むソースファイルがあり、それらを使用できない場合、管理者はアプリケーションを配備できるように手動で変更してください。