この節では、アップグレードユーティリティーに関する既知の問題とその解決方法を示します。
Enterprise Edition 8 から Application Server Enterprise Edition 8.1 にアップグレードするときに、install_dir/domains ディレクトリ以外のカスタムパスに作成されたドメインが直接アップグレードされない。
アップグレードユーティリティーを実行しているときに、install_dir をソースインストールディレクトリとして指定すると、そのアップグレードプロセスは、install_dir/domains ディレクトリの下に作成されたドメインだけをアップグレードします。その他の場所に作成されたドメインはアップグレードされません。
アップグレードプロセスを起動する前に、すべてのドメインディレクトリを、それぞれの場所から install_dir/domains ディレクトリに移動します。
この問題はさまざまな Linux システムで発生しています。Java Desktop System 2 でもっとも一般的ですが、Red Hat ディストリビューションでも発生しています。
インストールプログラムの最後の画面で「アップグレードツールの起動」ボタンをクリックすると、そのインストールプログラムはアップグレード処理を完了するためのアップグレードツールの起動に失敗し、コマンドプロンプトに戻ることなくハングアップします。
この問題は、コマンド行インストールモードを使用して代替アップグレードを実行している場合には発生しません。
GUI モードで代替アップグレードを実行してこの問題が発生した場合には、インストールプログラムを起動した端末ウィンドウで Ctrl+C を押すことにより、そのインストールプログラムを終了します。
その端末ウィンドウから次のコマンドを使用してアップグレードツールを起動します。
install_dir/bin/asupgrade --source install_dir/domains --target install_dir --adminuser adminuser --adminpassword adminpassword --masterpassword changeit |
adminuser および adminpassword は、アップグレード中のインストールで使用されている値に一致する必要があります。
アップグレードツールがアップグレードプロセスを完了したあとは、ブラウザを起動して次の URL を入力することにより、「バージョン情報」ページを参照できます。
file://install_dir/docs-ee/about.html |
製品を登録するインストールオプションを選択した場合には、「バージョン情報」ページ上の登録ページへのリンクをたどってください。
アップグレード後、ターゲットの domain.xml から次のエントリを削除し、サーバーを再起動します。
<jvm-options>-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot} /config/keystore.jks</jvm-options>- <jvm-options>Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot} /config/cacerts.jks</jvm-options>
アップグレードツールは、どのサーバーインスタンスのどの既存の index.html ファイルでも上書きします。
アップグレードツールを実行する前に既存の index.html ファイルのバックアップを取ってから、後でそれらのファイルを復元します。
Application Server 8.0PE から 9.1 へのアップグレード時に、サーバーに null という名前のシステムコネクタがないというエラーがスローされ、sbs-manual に示されているような無効なユーザー情報が表示されます。ハードコードされた値を変更しても、同じエラーメッセージが表示されます。この問題が起きるのは、8.0 と 9.1 で domain.xml が変更されているためです。
8.0 PE から 9.1 にアップグレードした場合にのみ、このバグに遭遇します。回避方法は、8.1、8.2、または 9.0 に一度アップグレードしてから、さらに 9.1 にアップグレードすることです。
インプレースアップグレード実行時に、ソースに複数のドメインがある場合、プロセスが中止になっても、インストーラはアップグレードツールを呼び出します。GUI モードで呼び出した場合にそうなります。
インプレースを CLI モードでインストールし、インストール処理の最後にインストーラがアップグレードツールを選択するプロンプトを表示したときに終了します。この操作を行っても、ドメインディレクトリにあるどのドメインも削除されません。アップグレードツールは bin ディレクトリから手動で呼び出す必要があります。
GUI モードでインプレースをインストールする場合は、処理中にドメインが失われることがないようにするために、ドメインルートにあるドメインのバックアップを取ります。インストール処理の最後に、インストーラがアップグレードツールを選択するプロンプトを表示したときに終了します。失われているドメインがあれば、ドメインバックアップしたドメインをドメインディレクトリにコピーします。アップグレードツールを起動して、手動でアップグレードを実行します。
AS8.2 から 9.1 へのアップグレード時に、8.2 インストール環境のマスタパスワードが 9.1 インストール環境に継承されない。これが原因となって、次の管理者ログイン時に認証エラーとなります。
Application Server 9.1 のデフォルト管理パスワードは changeit です。8.2 からのアップグレード後に 9.1 サーバーにログインするときの問題を回避するために、次の 3 つのどれか 1 つを行ってください。
アップグレードを実行する前に、8.2 管理者パスワードを changeit に変更する。
アップグレード処理時にデフォルトの管理者パスワードを受け入れず、使用するパスワードを明示的に入力する。
デフォルトパスワードで 9.1 にログインし、そのあと直ちにパスワードを変更する。
アップグレードツールはどのような形式のデータベースまたはテータベーステーブルのアップグレードを扱っておらず、将来サポートする予定もありません。リソース参照設定は転送されているので、Application Server が元のデータベースおよびテーブルを引き続き処理できるようにする必要があります。データベースを変更するか、またはデータベーステーブルを転送する場合、使用中のデータベースを処理するツールを使用します。
次のステップを行って、MQ ストアを移行します。
AS 8.2 をシャットダウンして、AS9.1 アップグレードツールを実行したあと、AS9.1 をはじめて起動する前に次のステップを行います。IFR インストール/アップグレード後にすでに AS9.1 を開始している場合は、MQ メッセージストアが不安定になる可能性があるので、次のステップを行わないでください。
domains/domain1/imq サブディレクトリ全体を AS 8.x domains ディレクトリから AS 9.1 domains ディレクトリにコピーします。
ディレクトリとファイルの所有者が Application Server を実行するユーザーと同じであることを確認してください。
上記のステップを実行したあと、Application Server 9.1 を開始することができ、MQ は Application Server 9.1 に格納します。domains ディレクトリ内の MQ ストアは JES5 U1 形式から MQ 4.1 形式に移行されます。この手順では、またはAS 9.1 による起動時に MQ4.1 によっては、AS 8.2 の下にある元の JES5 U1 MQ ストアは保存され変更されないことに注意してください。
JES5 (Application Server 8.2) から Application Server 9.1 にアップグレードすると、Portal Server コミュニティーサンプルは機能しなくなり、多数の javax.faces.application.ApplicationFactory エラーをスローします。
Application Server 8.2 が JES5 Portal Server とともにインストールされている場合、Application Server 8.2 から 9.1 へのアップグレードはサポートされていません。Application Server を 9.1 にアップグレードする前に、Portal Server を Java ES 5 Update 1 にアップグレードする必要があります。
Linux プラットフォーム上で IFR インストーラを使用し「JDK をインストール」オプションを選択して Application Server 8.2 から 9.1 にアップグレードすると、インストールは正常に完了しても、ほとんどの JES コンポーネントが動作を停止します。
この問題は、Linux プラットフォームでの Application Server 9.1 の IFR インストールにのみ、また「JDK をインストール 」オプションを選択した場合にのみ影響が出ます。この問題を回避するには、インストール直後に、/usr/jdk/entsys-j2se を /usr/java/jdk1.5.0_12 ディレクトリに手動でリンクします。
Windows 上で Application Server 9.1 IFR アップグレードを実行すると、インプレースバックアップは asupdate.bat フォーム値と正しく統合されません。具体的には、ASupdate.bat GUI 画面に間違った情報を入力してから「次へ」をクリックすると、アップグレードインストーラはインプレースアップグレードなのかどうかを検出しようとします。インプレースアップグレードである場合には、アップグレードの前に domain1 がバックアップディレクトリに移動されます。アップグレードが進行すると、間違った情報の結果としてエラーメッセージが表示されます。直ちにエラーを訂正しようとすると、domain1 がすでに移動しているので、パスエラーがスローされます。
ソースディレクトリを {current source path}/backup の domain1_ {timestamp} ディレクトリに変更するか、または「取消し」ボタンでインストーラを終了して再起動します。
(Windows のみ) 以前のバージョンの Application Server が特殊文字または DOS 形式のショートネームを使用してプログラムディレクトリパスにインストールされている場合、同じディレクトリパス名を使用すると、Application Server 9.1 へのインプレースアップグレードが失敗します。
たとえば、Application Server 8.2 が次のディレクトリのどちらかにインストールされているとします。
C:\Program Files (x86)\dirs\appserver c:\progra~2\dirs\appserver |
9.1 へのインプレースアップグレードを実行しようとすると、インストーラがショートネームまたは特殊文字を必須のロングネーム形式に変換できないために失敗します。
特殊文字や DOS 形式のショートネーム短縮形 (progra~2 など) は、以後のアップグレードインストールの妨げになるため、使用しないことが強く勧められています。このようなインストール環境が存在する場合、アップグレードする前に長いパス名を使用してそれを削除するか、または全く新しいディレクトリに新規バージョンの Application Server をインストールします。
Application Server アップグレード後に、<jsp:forward> タグが Authenticate.jsp で予期されているように機能しません。<jsp:forward> を呼び出すとサーバーログにエラーが生成され、Web UI に空白ページが表示されます。問題は、 Authenticate.jsp 内の <jsp:forward> に <jsp:forward page="${redirectPage}"/> のようなページ属性が必要なのに、渡される値が /registry/thin/{pagename}.jsp のような相対パスであるためで、この場合は Authenticate.jsp が純粋な JSP ページであっても機能しません。
Application Server アップグレードを完了したあと、asadmin ツールを使用して次のコマンドを実行し、 domain.xml に <auth-realm> を設定します。
<appserver9.1-install-dir>/bin に移動して、次のコマンドを実行します。
./asadmin delete-auth-realm --host localhost --port 6489 certificate |
これにより、古い auth-realm 証明書があれば削除されます。
次のコマンドを実行します。
./asadmin create-auth-realm --terse=false --echo=true --interactive=true \ --user admin --host localhost --port 6489 --classname \ com.sun.enterprise.security.auth.realm.certificate.CertificateRealm \ --property assign-groups=have.client.cert certificate |
これにより、新規の <auth-realm> が assign-groups プロパティーを指定して作成されます。
Application Server registry ドメインを停止して再起動します。
英語以外の言語で asupgrade GUI を実行すると、この GUI のオンラインヘルプが選択した英語以外の言語にローカライズされていません。
現時点ではありません。オンラインヘルプは英語以外のすべての目標言語にローカライズされる予定です。