資料に示されているとおり プログラミング・モデル API および仕様 の記事「WebSphere Application Server」では、以下の Java EE レベルをサポートしています。
サポートされないバージョンまたは指定されていないバージョンのアプリケーションは、アプリケーション・サーバーでサポートされる最も高いバージョンで実行されます。
例えば、5.0 の application.xml を使用するアプリケーションは、WebSphere Application Server v6.1 で 1.4 のバージョンのアプリケーションとして処理されます。 一方、WebSphere Application Server v7 では、同じアプリケーションが 5.0 のアプリケーションとして処理されます。 アプリケーションのバージョンによってこのように変わることが原因で、望まない変更が振る舞いで発生する可能性があります。
具体的な問題の 1 つとして、WebSphere 6.1 は、XMI 形式を使用してアプリケーション・バインディングを生成します。Java EE バージョン 5 のアプリケーションは、XML 形式のバインディングおよび拡張を予期します。 ibm-web-bnd.xmi ファイルに仮想ホスト情報を持つ Java EE 5 のバージョンのアプリケーションを WebSphere v7 にマイグレーションしようとすると、インストールが失敗します。これは、WebSphere v7 以上では、ibm-web-bnd.xml ファイルで仮想ホスト情報を探し、 このシナリオの場合、バインディングの xml ファイルが存在しないためです。 アプリケーションがバージョン 1.4 であれば、xmi を引き続き正しく読み取ることができます。
別の失敗のシナリオとして、バージョン 7 以上のデプロイメント・マネージャーは、アプリケーションの指定された Java EE レベルをサポートしないノードに Java EE アプリケーションをデプロイすることを許可しません。 つまり、トポロジーに 6.1 以下のノードがあって、7.0 以上のデプロイメント・マネージャーを使用する場合、 まったく同じアプリケーションが、以前実行されていたノードにデプロイされない可能性があります。
バージョン 6.1 以前からマイグレーションする場合、以下の内容を持つ application.xml にフラグが立てられます。
|
<?xml version="1.0" encoding="UTF-8"?> <application id="Application_ID" version="5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"> ... </application> |
アプリケーションのバージョンをバージョン 1.4 に変更する必要があります。ソース・スキャナーで、クイック・フィックスは、以下の例に太字で示されているようにバージョン情報とスキーマ情報を変更します。
|
<?xml version="1.0" encoding="UTF-8"?> <application id="Application_ID" version="1.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://java.sun.com/xml/ns/j2ee/application_1_4.xsd"> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd"> ... </application> |
WebSphere Application Server の各バージョンでサポートされる Java EE 仕様レベルについて詳しくは、プログラミング・モデル API および仕様を参照してください。