Sun ONE Application Server 7, Enterprise Edition リリースノート
SunTM Open Net Environment (ONE) Application Server 7, Enterprise Edition のリリースノートには、最新の詳細情報、新しい機能や拡張機能、製品の要件、既知の問題、最近見つかったその他の問題点などが記載されています。
このドキュメントの記載内容によって、このリリースに付属しているコンポーネントの readme ファイルの内容が更新および補足されます。
このリリースノートには、次の内容が含まれています。
新機能
『Sun ONE Application Server の新機能』には、新しいエンタープライズ機能、開発機能、および運用機能が記載されています。このマニュアルは、http://docs.sun.com/db/prod/s1appsrv?l=ja から入手できます。
Sun ONE Application Server のプラットフォーム
『Sun ONE Application Server のプラットフォーム』には、サポートされているオペレーティングシステムやその他の重要なプラットフォーム情報が記載されています。このマニュアルは、http://docs.sun.com/db/prod/s1appsrv?l=ja から入手できます。
Sun ONE Application Server 7, Enterprise Edition のマニュアル
SunTM Open Net Environment (ONE) Application Server 7 Enterprise Edition のマニュアルは、 http://docs.sun.com/db/prod/s1appsrv?l=ja にあります。
Sun ONE Application Server 7, Enterprise Edition のマニュアルには、次のものがあります。
- 製品の概要 - (817-5543-10) Sun ONE Application Server 7 について説明します。製品の各エディションで利用できる機能についても説明します。
- サーバーアーキテクチャの概要 - (817-5545-10) 図表を使用しながら、サーバーアーキテクチャについて説明します。さらに、Sun ONE Application Server アーキテクチャの利点についても説明します。
- 新機能 - (817-5544-10) Sun ONE Application Server 7 の新しいエンタープライズ機能、開発機能、および運用機能の一覧を示します。
- Platform Summary - (817-2145-10) サポート対象のハードウェア、オペレーティングシステム、JDK、JDBC、RDBMS を一覧します。
- 入門ガイド - (817-5547-10) Sun ONE Application Server 7, Enterprise Edition の基本的な使用方法について説明します。新機能、アーキテクチャの概要、アプリケーションのサンプルチュートリアルについても説明します。
- インストールガイド - (817-5546-10) Sun ONE Application Server、サンプルアプリケーション、管理インタフェースのインストール方法や、高可用性コンポーネントのインストールと設定について説明します。
- システム配備ガイド - (817-5552-10) Sun ONE Application Server を最適な方法で、サイト内に展開できるよう、システムのニーズを評価するための、基礎的な情報を説明します。
- Developer's Guide - (817-2148-10) Sun ONE Application Server で動作する J2EE アプリケーションの基本的な作成方法について説明します。
- Developer's Guide to Web Applications - (817-2149-10) J2EE アプリケーションにおけるサーブレットや JavaServer Pages (JSP) の使用方法について説明します。
- Developer's Guide to Enterprise Java Beans Technology - (817-2152-10) Sun ONE Application Server 環境における各種エンタープライズ Bean の開発および配備方法について説明します。
- Developer's Guide to J2EE Services and APIs - (817-2154-10) JDBC (Java Database Connectivity)、JNDI (Java Naming and Directory Interface)、JTS (Java Transaction Service)、JMS (Java Message Service)、JavaMail などの J2EE の各機能について説明します。
- Developer's Guide to NSAPI - (817-2153-10) NSAPI プラグインの作成方法について説明します。
- Developer's Guide to Web Services - (817-2151-10) Sun ONE Application Server 環境における Web サービスの開発および配備方法について説明します。
- Developer's Guide to Clients - (817-2150-10) Sun ONE Application Server 7 の J2EE アプリケーションにアクセス可能な Application Client Container (ACC) クライアントの開発および配備方法について説明します。
- サーバーアプリケーションの移行および再配備 - (817-5551-10) 新しい Sun ONE Application Server 7 プログラミングモデルにアプリケーションを移行する方法について説明します。
- Application Design Guidelines for Storing Session State - (817-2162-10) HTTP セッションの可用性を最適に設定する方法について説明します。
- 管理者ガイド - (817-5548-10) 管理インタフェースやコマンド行インタフェースによる Sun ONE Application Server サブシステムの設定、管理、配備の方法について説明します。
- 管理者用設定ファイルリファレンス - (817-5549-10) Sun ONE Application Server の設定ファイルの内容について説明します。
- セキュリティ管理者ガイド - (817-5550-10) Sun ONE Application Server 操作環境のセキュリティの設定および管理方法について説明します。
- J2EE CA SPI Administrator不 Guide - (817-7157-10) Sun ONE Application Server 環境の JCA SPI 実装機能の設定および管理方法について説明します。
- Performance Tuning and Sizing Guide - (817-2157-05) Sun ONE Application Server のパフォーマンスの向上に関し、その方法と理由について説明しています。
- Troubleshooting Guide - (817-2161-10) Sun ONE Application Server で発生した問題を解決する方法について説明します。
- Error Messages Reference - (817-2159-10) Sun ONE Application Server 7 Enterprise Edition の実行中に表示される可能性のあるメッセージがまとめてあります。
- Utility Reference Manual - (817-2160-10) Sun ONE Application Server で利用できるユーティリティとコマンド行インタフェースのコマンドについて説明します。
関連マニュアル
Sun ONE Message Queue, Platform Edition は、Sun ONE Application Server, Enterprise Edition と統合されています。Sun ONE Message Queue には、次のサイトにあるマニュアルセットが付属しています。http://docs.sun.com/db/prod/s1.s1msgqu?l=ja#hic
ソフトウェアおよびハードウェアの要件
『Sun ONE Application Server Platform Summary』には、プラットフォームに関する情報が記載されています。このマニュアルは、http://docs.sun.com/db/prod/s1appsrv?l=ja から入手できます。
Sun ONE Application Server 7, Enterprise Edition には、同じマシンまたは別のマシンに個別にインストールできる持続セッションストア用の高可用性データベース (HADB) コンポーネントがあります。HADB コンポーネントは、28 ノード (そのうち 24 ノードはアクティブ状態で、残り 4 ノードは予備) まで拡張できることが保証されています。
インストールを始める前に、HADB の詳細について『Sun ONE Application Server インストールガイド』と『Sun ONE Application Server 管理者ガイド』を参照してください。
この節では次の項目について説明します。
Enterprise Edition の設定
次の表には、Sun ONE Application Server 7, Enterprise Edition の高可用性を設定するための要件がまとめてあります。
設定 1
設定 2
設定 3
Solaris パッチ
Solaris 8 システムには、次の URL の「パッチサポートポータル」から「推奨 & セキュリティパッチ」に記載されている Sun 推奨パッチクラスタをインストールする必要があります。http://jp.sunsolve.sun.com/
Solaris 8 システムには、パッチ番号 109326-06、108827-26、および 110934 のパッチをインストールしてください (全リビジョン対象。パッケージベースのインストールのみ)。これらの必須パッチは、インストーラによってチェックされます。これらのパッチがインストールされていないと、Sun ONE Application Server をインストールすることも実行することもできません。最新の推奨パッチクラスタには、これらのパッチが最初から含まれています。
既知の問題と制限事項
この節では、Sun ONE Application Server 7 Enterprise Edition の既知の問題とその回避方法について、次の項目別に解説します。
|
注
|
問題の説明にプラットフォームが明記されていない場合、その問題はすべてのプラットフォームに当てはまります。
|
この節は次の項目から構成されています。
インストールとアンインストール
この節では、インストールとアンインストールに関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4719600
|
インストール時に警告メッセージが表示される
インストール時に、次のようなエラーメッセージが表示されることがあります。次に例を示します。
WARNING:Couldn't flush system prefs:java.util.prefs.BackingStoreException:Couldn't get file lock. WARNING:Could not lock System prefs.Unix error code -223460600.
解決法
これらの警告は無視してください。あるいは、システム設定ディレクトリ (通常は /etc/.java/.systemPrefs) を作成します。システム設定ディレクトリは、通常、JDK インストールスクリプトによって自動的に作成されます。
|
|
4742038
|
Sun ONE Application Server がインストールディレクトリの名前に英数字以外の文字が含まれていると起動しない
インストールディレクトリの名前に英数字以外の文字 (#、空白文字など) が含まれていると、Sun ONE Application Server が正常に起動しません。この場合、サーバーログファイルは作成されません。Sun ONE Application Server のインストールディレクトリの名前に使用できる文字は、 英数字、ダッシュ (-)、下線 (_) のみです。インストール作業の一環として既存の Java 2 SDK ディレクトリを指定するときも、同じルールが適用されます。
解決法
インストール時には、英数字、ダッシュ、下線の文字のみ使用してディレクトリ名を指定してください。
|
|
4742828
|
サイレントインストーラがユーザーのアクセス権をチェックしない
対話型インストーラ (GUI またはコマンド行) は、ユーザーのパーミッションが適切 (UNIX の root ユーザー) であるかどうかをチェックしますが、サイレントインストールでは、このチェックは行われません。パッケージをインストールするパーミッションがないと、インストールは途中で失敗します。
解決法
サイレントインストールは、適切なアクセス権を持つユーザーが実行してください。
|
|
4742171
|
サイレントモードで既存の Sun ONE Application Server 7 環境に上書きインストールをした場合、エラーが報告されない
インストーラをサイレントモードで実行するときに発生する問題です。既存の Sun ONE Application Server 7 (同じディレクトリ内) 上に、新しい Sun ONE Application Server 7 をサイレントモードでインストールする場合、途中でエラーが報告されることなく処理が進行します。既存のインストールファイルは保存されます。
解決法
同じ場所に新しい Sun ONE Application Server 7 をインストールする前に、既存の Sun ONE Application Server 7 環境をアンインストールします。
|
|
4746410
|
Solaris 上のデフォルト以外の場所に Sun ONE Application Server をインストールするとき、パッケージベースのインストーラは正しい場所のディスク容量をチェックしない
Solaris で (パッケージベースのインストーラを使用して) Sun ONE Application Server をデフォルト以外の場所にインストールするときは、インストールプログラムは指定されたインストールディレクトリのディスク容量をチェックしません。代わりに、デフォルトのディレクトリ (/opt) のディスク容量のみをチェックします。
解決法
インストールを開始する前に /opt ディレクトリのディスク容量が 85M バイト以上あることを確認します。これは、/opt をインストールディレクトリに指定しない場合も同様です。さらに、インストールディレクトリのディスク容量が 85M バイト以上あることを確認します。
|
|
4748455
|
サイレントインストール時にディレクトリエラーが発生する
全プラットフォームのサイレントインストールに影響を及ぼす問題です。指定のインストールディレクトリに問題がある場合、「Invalid Installation Directory」という汎用エラーメッセージが表示されます。このエラーメッセージは次のように解釈できます。
- 選択したディレクトリへの書き込みが許可されていない
- 選択したディレクトリの名前を表す文字列が、空白であるか、空白文字を含んでいる
解決法
指定したインストールディレクトリを調べ、エラーの原因を特定します。
|
|
4749666
|
Sample Application コンポーネントを増分インストールした場合、サンプルドキュメントが初期サーバーインスタンスに公開されない
すべてのプラットフォームの開発運用環境用インストーラに影響を及ぼす問題です。Sun ONE Application Server のインストール後、新たなインストールセッションでサンプルアプリケーションをインストールした場合、サンプルドキュメントが初期サーバーインスタンスに公開されません。また、http://hostname:port/samples からアクセスすることもできません。しかし、サンプルドキュメントはファイルシステム上にインストールされており、次の URL からのローカルアクセスは可能です。file:///install_root/samples/index.html
解決法
サンプルドキュメントにはローカルからアクセスします。
|
|
4754256
|
Solaris 上でインストーラを使って Sun ONE Message Queue をアップグレードする場合、設定ファイルが保存されない
インストーラは、システム上で以前の Sun ONE Message Queue 3.0 パッケージを検出すると、自動的に Sun ONE Application Server 用の Sun ONE Message Queue 3.0.1 にアップグレードします。このとき、バージョン 3.0 の Solaris パッケージとともに次の設定ファイルが削除されます。
/etc/imq/passwd /etc/imq/accesscontrol.properties
これらのファイルに変更を加えていた場合、変更内容は失われます。Sun ONE Message Queue 3.0.1 はデフォルトの設定になります。
解決法
変更が加えられているファイルのバックアップコピーを作成しておき、アップグレードの完了後に復元します。詳細については、『Sun ONE Message Queue 3.0 インストールガイド』を参照してください。
|
|
4754824
|
Solaris 上で、CD からインストールを実行しているときエラーメッセージが表示される
CD-ROM ドライブにボリュームを挿入すると、Solaris ボリューム管理によりシンボリック名が割り当てられます。たとえば、デフォルトの正規表現が一致している CD-ROM が 2 枚ある場合、それぞれに cdrom0 または cdrom という名前が割り当てられます。正規表現が一致している CD-ROM をさらに追加すると、cdrom2 で始まる名前が割り当てられます。このことは、vold.conf のマニュアルページで説明しています。CD から Sun ONE Application Server をインストールするたびに、ラベル名と数値から成るマウントポイント名が割り当てられます。CD を初めてマウントするときは、何の問題もありません。それ以降のマウントでは、インストーラが起動したときに、次のエラーメッセージが表示されます。
IOException:java.io.FileNotFoundException:/cdrom/appserver7 (No such file or directory) while loading default flavormap.properties file URL:file:/cdrom/appserver7#4/AppServer7/pkg/jre/lib/flavormap.properties
解決法
インストーラの機能にはまったく影響しません。しかし、次の解決法が用意されています。
- コマンドプロンプトに su と入力し、パスワードを入力してスーパーユーザーになります。または、最初から root (スーパーユーザー) としてログインします。スーパーユーザーのコマンドプロンプト (#) が表示されます。
- /cdrom ディレクトリが存在しない場合は、次のコマンドで作成します。
# mkdir /cdrom
- CD-ROM ドライブをマウントします。
注 :vold プロセスは、CD-ROM デバイスを管理し、マウントを実行します。/cdrom/cdrom0 ディレクトリに、CD-ROM が自動的にマウントされます。
ファイルマネージャを実行している場合は、ファイルマネージャウィンドウが開き、CD-ROM の内容が表示されます。
- CD-ROM がマウントされていないため /cdrom/cdrom0 ディレクトリが空になっている場合や、CD-ROM のコンテンツを表示するファイルマネージャウィンドウが開かない場合は、次のコマンドで、vold デーモンが実行されているかどうかを確認します。
# ps -e | grep vold | grep -v grep
- vold が実行されている場合は、vold のプロセス ID が表示されます。何も表示されない場合は、次のコマンドでデーモンを強制終了します。
# ps -ef | grep vold | grep -v grep
- 次のコマンドで vold プロセスを停止します。
# kill -15 process_ID_number
- CD-ROM を手動でマウントします。
# mount -F hsfs -r ro /dev/dsk/cxtyd0sz /cdrom/cdrom0
x は CD-ROM ドライブのドライブコントローラ文字です。y は CD-ROM ドライブの SCSI ID です。z は CD-ROM が置かれているパーティション (スライス) です。
これで、CD-ROM ドライブがマウントされました。インストール時の手順については、Solaris のマニュアルで CD のインストールと設定に関する説明を参照してください。
|
|
4757687
|
Solaris 上で Administration Client コンポーネントがインストールされているシステムに増分インストールすると、Sun ONE Application Server を使用できなくなる
この問題は、Solaris のパッケージベースのインストールに影響します。スタンドアロンの Administration Client コンポーネントがインストールされているシステムに、Administration Client コンポーネントのインストールディレクトリ以外のディレクトリを指定して Sun ONE Application Server をインストールした場合、インストールに成功したというメッセージが表示されていても、この Sun ONE Application Server を使用することはできません。この問題の原因は、Administration Client の Solaris パッケージが、インストール済みであることを検出され、Sun ONE Application Server のインストールプロセスから、Administration Client がインストールされないことです。その結果、製品機能を使用するために必要なファイルが見つからないという問題が発生します。
解決法
Solaris システム上のスタンドアロンの Administration Client をアンインストールしてから、Sun ONE Application Server をインストールします。
Sun ONE Application Server の増分インストールも可能ですが、Administration Client と同じインストールディレクトリを使用する必要があります。
|
|
4762118
|
Solaris 上で、選択されたカスタム設定ディレクトリが選択されたインストールディレクトリのサブディレクトリ etc である場合、インストールが失敗する
Solaris プラットフォーム上の Solaris のパッケージベースのインストールに影響を及ぼす問題です。次の組み合わせでカスタムディレクトリを選択すると、ディレクトリのグループの所有権情報に不整合が生じ、インストールが失敗します。
- インストールディレクトリ: install_dir
- 設定ディレクトリ: install_dir/etc
/var/sadm/install/logs ディレクトリ内の pkgadd ログファイルに次のエラーメッセージが書き込まれます。
pkgadd:ERROR: duplicate pathname /install_dir/etc pkgadd:ERROR: unable to process pkgmap
解決法
install_dir/etc 以外のカスタム設定ディレクトリを選択します。
|
|
4762694
|
Solaris 上で、Sun ONE Message Queue のアップグレード中に Sun ONE Message Queue パッケージ SUNWiqsup が削除されない
Solaris だけで発生する問題です。Sun ONE Application Server 7 のインストール時には、Sun ONE Message Queue 3.0.1 がインストールされます。Solaris 上で Sun ONE Message Queue 3.0 が検出された場合、このバージョンはユーザーの承認を経てアンインストールされます。その後、バージョン 3.0.1 がインストールされます。
アップグレード時、Solaris インストーラが Sun ONE Message Queue 3.0 の Solaris パッケージの一部 (SUNWiqsup) を削除しないというクリーンアップ関連の問題があります。このパッケージは、Sun ONE Message Queue にも Sun ONE Application Server 7 にも悪影響を及ぼしません。したがって、残したままでも問題はありません。
解決法
root (スーパーユーザー) になり、次のコマンドを使って SUNWiqsup パッケージを手動で削除します。
# pkgrm SUNWiqsup
|
|
4823481
|
標準以外のポートでは、同じセッション内で HTTP 要求と HTTPS 要求との間の移行が行われない
ブラウザから直接要求を受信するサーバー (Web サーバーなど) が標準以外のポート番号で設定されている場合は、プロトコルの移行時に新しいセッションが作成されます。これは欠陥ではありませんが、これにより、セッション ID (およびその他の) cookie がブラウザから標準以外のポートに戻されなくなります。
注: ポート番号が指定されていない URL に接続している場合は、ブラウザからこれらの cookie が戻されます。
解決法
標準のポート番号 (http: 80、https: 443) を使用します。
|
|
4834797
|
サイレントインストーラによって、インストール済みのコンポーネントに関する誤った警告メッセージが表示される
この問題は、ユーザー環境で次の手順を実行した場合に発生します。
- 管理インタフェースまたは管理コンソールモードを使用してインストールを実行し、再利用の目的で statefile を保存します。
注: statefile は、-savestate オプションを指定して setup を実行したときに生成されます。
- 前述の手順でインストールしたコンポーネントをアンインストールしないで、前述の手順で作成された statefile を使用して、サイレントモードでインストーラを再実行します。
インストーラは、「Incompatible or corrupted state file provided. Cannot continue」というメッセージを表示して、終了します。
このメッセージは誤りで、正しいメッセージは 「No available components have been selected for installation. Component list is either empty, or contains already installed components」です。
インストールプロセスは停止しますが、これは予期された正しい動作です。
解決法
サイレントインストールを実行する前に、statefile 内に指定されているコンポーネントがシステムにインストール済みでないことを確認します。
|
|
4883016
|
Apache プラグインのインストーラには、証明書 DB ファイルが付属している必要がある
Apache プラグインを実行するのに必要な DB ファイル用のディレクトリを作成する必要があります。
解決法
- Apache のルートディレクトリの下に、sec_mod_db というディレクトリを作成します。
- cd_image/sec_db_files/*.db ファイルを前述のディレクトリにコピーします。
|
|
なし
|
Solaris 上で Sun ONE Application Server インストーラを使って既存の Sun ONE Message Queue 3.0 をバージョン 3.0.1 にアップグレードした場合、Sun ONE Application Server のアンインストール時に Sun ONE Message Queue も削除される
Solaris の開発運用環境用インストーラに影響を及ぼす問題です。システム上の既存の Sun ONE Message Queue 3.0 を自動的にバージョン 3.0.1 にアップグレードできます。しかし、この Sun ONE Message Queue 3.0.1 は、Sun ONE Application Server のアンインストール時に削除されます。
解決法
Sun ONE Application Server のアンインストール後も Sun ONE Message Queue を保存しておきたい場合は、次の手順を実行します。
- 自動アップグレードを行うかどうかを確認するメッセージが表示された時点でインストーラを終了します。
- Sun ONE Message Queue のマニュアルの手順に従って Sun ONE Message Queue 3.0.1 へアップグレードします。
- Sun ONE Application Server を再実行します。
|
サーバーの起動とシャットダウン
この節では、起動とシャットダウンに関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4738648
|
JMS サービス、または Sun ONE Application Server の起動に失敗する
JMS プロバイダ (Sun ONE Message Queue ブローカ) が未配信の持続メッセージを大量に保持している場合、次の問題の発生により、Sun ONE Application Server の初期化時に障害が発生します。
- 未配信のメッセージを全部読み込もうとしてメモリ不足になり、MQ ブローカの処理が中断されます。
解決法 1
MQ ブローカプロセスの Java ヒープサイズを大きくしてください。このためには、JMS サービスの Start Arguments 属性の値を -vmargs -Xmx256m に設定します。
この属性の設定手順については、『Sun ONE Application Server 管理者ガイド』の「JMS サービスの使用」の章を参照してください。
- MQ ブローカが特定の時間内に初期化シーケンスを完了できない場合、Sun ONE Application Server がタイムアウトになり、中断します。
解決法 2
JMS サービスの Start Timeout 属性の値を大きくします。この属性の設定手順については、『Sun ONE Application Server 管理者ガイド』の「JMS サービスの使用」の章を参照してください。
|
|
4762420
|
ファイアウォールの規則により、Sun ONE Application Server の起動に失敗する
個人的にファイアウォールをインストールしている場合に発生する問題です。Sun ONE Application Server がインストールされているマシンに厳密なファイアウォール規則を適用すると、管理サーバーおよびアプリケーションサーバーインスタンスの起動時に障害が発生することがあります。管理サーバーおよびアプリケーションサーバーインスタンスは、Sun ONE Application Server 環境でローカル接続を確立しようとします。これらの接続はローカルのホストではなくシステムのホスト名を使ってポートにアクセスしようとするので、ローカルのファイアウォールの規則に従ってブロックされることがあります。
セキュリティ上何の問題もない処理に対して、ローカルのファイアウォールが誤った警告を生成することもあります。たとえば、Sun ONE Application Server がポート 3700 で TCP 接続を試行しているのに、「Portal of Doom Trojan」攻撃または同様の攻撃を受けたというメッセージが表示される場合があります。このような問題は、Sun ONE Application Server がローカル通信に使用するポート番号と、既知の一般的な攻撃に使用されるポート番号が重複している場合に発生します。ポート番号が重複しているかどうかの判断基準は次のとおりです。
- 管理ログファイルとサーバーインスタンスログファイルに、接続例外と次のメッセージが書き込まれています。CORE3186:Failed to set configuration
解決法
Sun ONE Application Server からローカルシステム上のポートに接続できるように、ファイアウォールポリシーを変更します。
攻撃について誤った警告が生成されないようにするには、攻撃関連の規則を変更するか、Sun ONE Application Server が使用するポート番号を変更します。
管理サーバーおよびアプリケーションサーバーインスタンスが使用するポート番号は、Sun ONE Application Server のインストール先の server.xml ファイルで確認できます。 domain_config_dir/domain1/admin-server/config/server.xml domain_config_dir/domain1/server1/config/server.xml
domain_config_dir はサーバーの初期設定を行なった場所です。次に例を示します。 Solaris 9 の統合インストールの場合: /var/appserver/domains/... Solaris 8、9 のアンバンドルのインストールの場合: /var/opt/SUNWappserver7/domains/...
<iiop-listener> と <jms-service> のポート設定を確認します。これらのポート番号を未使用のポート番号に変更するか、ローカルマシン上のクライアントから同じマシン上のこれらのポートへ接続できるようにファイアウォールポリシーを書き換えます。
|
|
4780076
|
Solaris 上で、Sun ONE Application Server がすべてのインスタンスを root (スーパーユーザー) として起動するため、root 以外のユーザーに root アクセス権が与えられる
Sun ONE Application Server を Solaris (バンドル版) の一部としてインストールすると、アプリケーションサーバーの起動に関連する問題が発生します。
- すべてのアプリケーションサーバーおよび管理サーバーは、Solaris の起動時に、自動的に起動します。環境によっては、Solaris の起動時に、インスタンスが起動しない場合もあります。定義されたすべてのインスタンスを起動すると、システム上の利用可能なメモリに悪影響を与えることがあります。
- アプリケーションサーバーインスタンスおよび管理サーバーインスタンスが自動的に起動する際、各インスタンスの起動スクリプトは root (スーパーユーザー) として実行されます。インスタンスレベルの起動スクリプトを変更すると、root 以外が所有するインスタンス起動スクリプトを実行して、root 以外のユーザーが root ユーザーにアクセスできるようになります。
バックグラウンド
Sun ONE Application Server を Solaris の一部としてインストールすると、/etc/init.d/appserv スクリプトと、/etc/rc*.d/ ディレクトリの S84appserv および K05appserv スクリプトへのシンボリックリンクがインストールされます。インストールされたスクリプトは、すべてのアプリケーションサーバーと管理サーバーのインスタンスをアプリケーションサーバーの一部として定義します。そのため、Solaris システムの起動およびシャットダウン時に、インスタンスは自動的に起動、停止されます。
/etc/init.d/appserv スクリプトには、次のコードセクションがあります。
... case "$1" in 'start') /usr/sbin/asadmin start-appserv ;; 'stop') /usr/sbin/asadmin stop-appserv ;; ...
asadmin start-appserv コマンドを実行すると、管理サーバーインスタンスおよび管理ドメインに定義されているすべてのアプリケーションサーバーインスタンスが Solaris 起動時に起動します。システムの起動およびシャットダウンスクリプトは root で実行されるので、各アプリケーションサーバーと管理サーバーのインスタンスも root で実行されます。インスタンスレベルの起動スクリプトは、startserv という名前で instance-dir/bin/startserv に格納されます。インスタンスは、root 以外のユーザーが所有していることがあるため、root 以外のユーザーが startserv スクリプトを変更して、root ユーザーでコマンドを実行する可能性があります。
インスタンスが特権を持つネットワークポートを使用している場合は、そのインスタンスの startserv スクリプトは root として実行する必要があります。通常、インスタンスを「実行するユーザー」と設定して、一度インスタンスを root ユーザーで起動した後は、特定のユーザーで実行されるようにします。
|
|
(続き)
|
解決法
次に解決方法を示します。環境に対応した方法を実行してください。
- すべてのアプリケーションサーバーと管理サーバーのインスタンスが root で起動されない環境では、etc/init.d/appserv スクリプトの asadmin start-appserv および asadmin stop-appserv コマンドをコメントアウトして実行されないようにします。
- 特定の管理ドメイン (管理サーバーインスタンス、および各ドメインのすべてのアプリケーションサーバーインスタンスを含む)、あるいは 1 つ以上の管理ドメイン内で特定のインスタンスを起動する環境では、/etc/init.d/appserv スクリプトを変更してドメインやインスタンスを起動するようにするか、あるいは環境に対応した /etc/rc*.d/ スクリプトを新たに定義します。
- 特定のドメインを起動します。管理ドメインあるいは特定のインスタンスが root 以外のユーザーとして起動する必要がある場合は、-c オプション付の su コマンドを使って目的のドメインやインスタンスを起動します。
例
特定の管理ドメインの起動 - 次のように /etc/rc*.d/ スクリプトを変更すると、管理サーバーインスタンス、および特定の管理ドメインに含まれるすべてのアプリケーションサーバーインスタンスが、root で実行されます。
... case "$1" in 'start') /usr/sbin/asadmin start-domain --domain production-domain ;;
'stop') /usr/sbin/asadmin stop-domain --domain production-domain ;; ...
|
|
(続き)
|
- 特定のアプリケーションサーバーインスタンスを root 以外のユーザーで実行するには、/etc/rc*.d/ スクリプトを変更して、-c オプション付きの su コマンドを使用するようにします。
... case "$1" in 'start') su - usera -c "/usr/sbin/asadmin start-instance --domain test-domain instance-a" su - userb -c "/usr/sbin/asadmin start-instance --domain test-domain instance-b" ;;
'stop') su - usera -c "/usr/sbin/asadmin stop-instance --domain test-domain instance-a" su - userb -c "/usr/sbin/asadmin stop-instance --domain test-domain instance-b" ;; ...
asadmin のコマンド行インタフェースで利用できる、起動とシャットダウンに関するコマンドの詳細は、『Sun ONE Application Server 管理者ガイド』を参照してください。
|
データベースドライバ
この節では、データベースドライバに関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4700531
|
Solaris 上で、ORACLE JDBC ドライバのエラーが発生する
この JDBC ドライバは、JDK 1.4 と連携して機能する Oracle (R) 用の新しいドライバです。Oracle 9.1 データベースと ojdbc14.jar が併用されているために、エラーが発生しています。Oracle 9.0.1.3 データベースを実行している 32 ビット版 Solaris マシンにパッチを適用すれば、問題を修正できます。
解決法
Oracle の Web サイトからバグ ID 2199718 のパッチを入手し、サーバーに適用します。次の手順を実行してください。
- Oracle の Web サイトに移動します。
- 「patches (パッチ)」ボタンをクリックします。
- パッチ ID フィールドに「2199718」と入力します。
- 32 ビット版 Solaris の OS パッチをクリックします。次に、Metalink.oracle.com に移動します。
- パッチをクリックします。
- パッチ ID 2199718 を入力します。
- 32 ビット版 Solaris の OS パッチをクリックします。
|
|
4707531
|
Solaris 上で、Oracle 9.2 クライアントから Oracle 9.1 データベースにアクセスするとデータが壊れる
timestamp 列に続いて number 列が存在する場合、Oracle (R) 9.2 クライアントから Oracle 9.1 データベースにアクセスするとデータが壊れることがあります。
Oracle 9.1 データベースで ojdbc14.jar ファイルを使用していると、この問題が発生します。Oracle 9.1 データベースを実行している 32 ビット版 Solaris マシンにパッチを適用すれば、問題を修正できます。この JDBC ドライバは、JDK 1.4 と連携して機能する Oracle 用のドライバです。
解決法
Oracle の Web サイトからバグ ID 2199718 のパッチを入手し、サーバーに適用します。
|
Web コンテナ
この節では、Web コンテナに関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4740477
|
sun-web-app_2_3-0.dtd ファイル内に、タイムアウト要素の構文が正しくない Web キャッシュの例がある
この例では、timeout が XML キャッシュオブジェクトを使用するように設定されています。 <timeout> 60 </timeout>
name パラメータは必須フィールドなので、本来であれば次のように設定しなければなりません。 <timeout name="foo">60</timeout>
解決法
ベリファイアを使用しないでください。
|
EJB コンテナ
この節では、Enterprise JavaBeansTM (EJBTM) に関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4735835
|
ejbFind メソッドから戻された null の PK を正しく処理できない
次のコンテナ管理持続 (CMP) の例では、ejbFind から 1 個以上の null が戻されます。なお、ここでは、ejbFind が EmployeeEJB Bean によって呼び出され、Bean と同じインスタンス型を戻すものとします。
- find insurance.employee where insurance.id == 10
insurance に employee が関連付けられていない場合、null を戻します。
- find all insurance.employee where insurance.id > 10
employee を持たない insurance に対して、null を含む集まりを戻します。
結果セット内で最初に null の PK を検出したとき、CMP クライアントは、「param0 cannot be null」という JDOFatalInternalException を受け取ります。
単一オブジェクトの検索メソッドの場合、BMP クライアントは、「Null primary key returned from ejbFind method」という EJBException を受け取ります。マルチオブジェクトの検索メソッドの場合、NullPointerException を受け取ります。
解決法
解決法はありません。
|
|
4744434
|
ステートフルセッション Bean の使用時に Sun ONE Application Server が Null Pointer 例外をスローする
Sun ONE Application Server の EJB コンテナは、ステートフルセッション Bean をキャッシュに格納することにより、パフォーマンスを改善します。キャッシュのオーバーフローが発生すると (キャッシュ内の Bean 数が max-cache-size を超過すると)、コンテナにより、Bean がディスクに非活性化されます。サーバーは NullPointerException をスローします。この問題は、max-cache-size と cache-resize-quantity の差が 8 より小さいときに発生します。
解決法
max-cache-size と cache-resize-quantity の差が 8 より大きくなるように設定します。または、max-cache-size の値を 0 に設定して、バインド解除されたキャッシュを使用します。
|
コンテナ管理持続
この節では、コンテナ管理持続 (CMP) の既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4732684
|
Oracle JDBC ドライバの最適化が開始されない
コンテナ管理持続 (CMP) Bean を使って Oracle (R) データベースを最適化するには、classes12.zip ファイルを server.xml ファイルの classpath-suffix 属性に指定する必要があります。サードパーティライブラリのデフォルトのディレクトリ /lib には格納しません。
解決法
server.xml ファイルの classpath-suffix 属性に classes12.zip ファイルを追加します。
|
|
4734963
|
配備時に自己参照の CMR による問題が発生する
EJB 配備記述子のパーサー ejb-jar.xml は、自己参照のコンテナ管理関係 (CMR)、すなわち ejb-relationship-role を正しく処理しません。1 側のフィールドはスキップされます。
解決法
1 側 (<multiplicity> は多) が ejb-relation の先頭に来るように ejb-relationship-role セクションを変更します。
|
|
4747222
|
Oracle のキャプチャスキーマユーティリティは -schemaname が指定されていないと動作しない
capture-schema ユーティリティでは、-schemaname を指定しないで Oracle (R) データベースからデータベーススキーマ情報を取り込もうとすると、次の問題が発生します。
- すべてのテーブルを取り込もうとした場合 (特定のテーブルを明示的に選択しない場合):
bin/capture-schema -dburl jdbc:oracle:thin:@oraserver:1521:ora -username scott -password tiger -driver oracle.jdbc.driver.OracleDriver -out test.dbschema
次のエラーメッセージが表示されます。 java.sql.SQLExceptions ORA-00942:table or view does not exist.
出力ファイルは壊れています。
- -table オプションを使って 1 個以上のテーブルを指定した場合:
bin/capture-schema -dburl jdbc:oracle:thin:@oraserver:1521:ora -username scott -password tiger -driver oracle.jdbc.driver.OracleDriver -table DEPT -out test.dbschema
出力ファイルには指定のテーブルが書き込まれますが、カラム情報は書き込まれません。したがって、このファイルで CMP マッピングを行うことはできません。
解決法
Oracle データベースからスキーマを取り込むときは、必ず -schemaname オプションを使用し、アルファベットの大文字でユーザー名を指定してください。
bin/capture-schema -dburl jdbc:oracle:thin:@oraserver:1521:ora -username scott -password tiger -driver oracle.jdbc.driver.OracleDriver -schemaname SCOTT -out test.dbschema)
|
|
4751235
|
キャプチャスキーマユーティリティ: Oracle または PointBase で -table オプションの値を大文字で指定しないと壊れたファイルが出力される
Oracle (R) や PointBase は、二重引用符 ("") で囲まれていない識別子の文字をすべて大文字に変換します。capture-schema ユーティリティで Oracle または PointBase からデータベーススキーマを取り込むとき、-table オプションの引数として小文字だけ (-table student など)、または大文字と小文字 (-table Student など) でテーブル名を指定すると、正しく処理されません。対応するテーブルのカラム情報を含まないデータベーススキーマファイルが生成されます。
解決法
テーブル名はすべて大文字で指定してください (-table STUDENT など)。
|
|
4895236
|
負荷状態のときに、持続範囲が session に指定され、持続頻度が time-based に設定されている場合、サーバーによって次の例外が報告されることがある
java.io.IOException: Error from HA Store: HADB-E-11939: Primary key constraint violation
負荷状態のときに、持続範囲が session に指定され、持続頻度が time-based の場合は、次の例外が報告されることがあります。
java.io.IOException: Error from HA Store: HADB-E-11939: Primary key constraint violation at com.sun.appserv.ee.web.sessmgmt.HAStore.executeStatement(HAStore.java:2202) at com.sun.appserv.ee.web.sessmgmt.HAStore.insertSessionBlob(HAStore.java:1957) com.sun.appserv.ee.web.sessmgmt.HAStore.save(HAStore.java:1409) at org.apache.catalina.session.PersistentManagerBase.writeSession(PersistentManagerBase.java:759) at org.apache.catalina.session.PersistentManagerBase.processMaxIdleBackups(PersistentManagerBase.java:1097) com.sun.appserv.ee.web.sessmgmt.HAManagerBase.processPersistenceChecks(HAManagerBase.java:88) org.apache.catalina.session.PersistentManagerBase.run(PersistentManagerBase.java:1182) at java.lang.Thread.run(Thread.java:536)
解決法
解決法はありません。
|
|
4898075 4900759
|
クライアントがトランザクションを開いている時間が長すぎる
セッションの持続範囲が modified-attribute に指定された Web コンテナのパフォーマンスと安定性は、実行している J2EE アプリケーションと、クラスタにかかっている負荷によって異なります。
解決法
アプリケーションが modified-attribute というセッションの持続範囲に適しているかどうか確認します。『Application Design Guidelines for Storing Session State』を参照してください。特に、セッションのコンテンツの変更に setAttribute および removeAttribute の呼び出しを使用しないアプリケーションは、persistence-scope='modified-attribute' として設定できません。この持続範囲で、予測されるピーク時の負荷がかかったときの Web コンテナのパフォーマンスと安定性を評価します。さらに、他の持続範囲 (session および modified-session) を指定したときのパフォーマンスや安定性と比較してから、最適な持続範囲を選択します。
|
|
4908285
|
持続頻度を web-method に設定し、持続範囲を modified-attribute に設定すると、完全なガベージコレクションが実行される
セッションの持続範囲 modified-attribute は、本稼動環境に適した品質の機能として保証されていません。
解決法
この持続範囲で、予測されるピーク時の負荷がかかったときの Web コンテナのパフォーマンスと安定性を評価します。予測されるピーク時の負荷がかかったときに例外が記録されるか、応答時間が長すぎる場合 (あるいはその両方の場合) は、この持続範囲を本稼動環境に使用しないでください。代わりに、持続範囲として session または modified-session を使用してください。
|
Message Service とメッセージ駆動型 Beans
この節では、Java Message Service (JMS)、Sun ONE Message Queue およびメッセージ駆動型 Beans の既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4683029
|
MQ Solaris スクリプト内の -javahome フラグは、値に空白文字が含まれていると正しく機能しない
Sun ONE Message Queue のコマンド行ユーティリティには、その他の Java ランタイムを指定する -javahome オプションが用意されています。このオプションを使用する際、Java ランタイムのパスに空白文字を含めることはできません。空白文字を含むパスの例を示します。
/work/java 1.4
この問題は、Sun ONE Application Server インスタンスの起動時に発生します。Sun ONE Application Server インスタンスを起動すると、デフォルトで、対応する Sun ONE Message Queue ブローカインスタンスが起動します。このブローカは、Sun ONE Application Server と同じ Java ランタイムを使用するため、-javahome コマンド行オプションを使って起動します。Sun ONE Application Server 用に設定された Java ランタイム (ブローカでも使用可能) のパスに空白文字が含まれていると、ブローカの起動に失敗します。このため、Sun ONE Application Server インスタンスの起動も失敗します。
解決法
Sun ONE Application Server の Java ランタイムのパスに空白文字が含まれていないことを確認してください。
|
JTS (Java Transaction Service)
この節では、JTS (Java Transaction Service) の既知の問題とその解決方法を示します。
復旧
JDBC ドライバの復旧に関する既知の問題があります。Sun ONE Application Server は、これらの問題に対していくつかの回避策を用意しています。デフォルトでは、ユーザーが明示的に指定しないかぎり、これらの回避策は使用されません。
- Oracle JDBC ドライバの問題 - Oracle XA Resource 実装の回復メソッドは、入力フラグとは関係なく、繰り返し同じ未確定 Xid のセットを戻します。XA 仕様によると、トランザクションマネージャは、最初に TMSTARTSCAN を使って XAResource.recover を呼び出したあと、TMNOFLAGS を使って、Xid が戻されなくなるまで繰り返し XAResource.recover を呼び出します。
-
Sun ONE Application Server は、Oracle XA Resource の確認メソッドの問題に対する回避策も用意しています。この回避策を適用するには、server.xml ファイルの transaction-service サブ要素に次のプロパティを追加します。oracle-xa-recovery-workaround
-
プロパティ値は必ず true に設定します。
- Sybase JConnect 5.2 ドライバの問題 - JConnect 5.2 ドライバには、JConnect 5.5 では解決されている既知の問題があります。JConnect 5.2 ドライバを使用する場合は、server.xml ファイルの transaction-service サブ要素に次のプロパティを追加して、復旧を有効にしてください。
-
sybase-xa-recovery-workaround
-
プロパティ値は必ず true に設定します。
トランザクション
server.xml ファイルでは、XA 接続と非 XA 接続の区別に res-type を使用します。これにより、データを駆動するデータソースの設定が識別されます。たとえば、Datadirect ドライバでは、同じデータソースを XA または非 XA として使用できます。
デフォルトでは、データソースは非 XA です。XA に指定してトランザクションの connpool 要素を付加するには、res-type が必要です。トランザクション内で connpool を正常に機能させるには、server.xml ファイルに次の res-type 属性を追加します。
res-type="javax.sql.XADataSource"
|
ID
|
要約
|
|
4689337
|
非 txn コンテキストの XADatasource 接続は使用できない
データベースドライバの既知の問題です。非 txn コンテキストの XADataSource 接続では、Autocommit がデフォルトで false に設定されます。
解決法
トランザクションではなく非 XA データソースクラスを使って、commit または rollback プログラムを明示的に呼び出します。
|
|
4700241
|
トランザクションのタイムアウト値をゼロ以外に設定するとローカルトランザクションの処理時間が長くなる
現在のローカルトランザクションマネージャは、一定のタイムアウト値を持つトランザクションをサポートしません。transaction-service 要素の timeout-in-seconds 属性に 0 より大きい値を指定すると、すべてのローカルトランザクションがグローバルトランザクションとして処理されるため、処理時間が長くなります。さらに、データソースドライバがグローバルトランザクションをサポートしていないと、ローカルトランザクションは失敗します。タイムアウト値が 0 のとき、トランザクションマネージャは、データソースからの応答を無期限に待機します。
解決法
timeout-in-seconds の値をデフォルトの 0 に戻します。
|
アプリケーションの配備
この節では、アプリケーションの配備に関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4725147
|
配備する仮想サーバーを選択できない
この場合は、仮想サーバー 2 台をまったく同じように設定し、一方をホスト、もう一方をリスナーにします。アプリケーションが 2 台目の仮想サーバーだけに配備されている場合、この仮想サーバーにはアクセスできません。これは、host:port の組み合わせで 1 台目の仮想サーバーが指定されているからです。
解決法
仮想サーバーのホスト名と元のホスト名が同じにならないようにしてください。特に、同じ HTTP リスナーを使用する場合には注意が必要です。
|
|
4734969
|
Bean パッケージ内の Query クラスでアプリケーションを配備できない
コンテナ管理持続 (CMP) の code-gen は、concreteImpl 内で JDO Query 変数の完全修飾名を使用しません。Query クラスが抽象 Bean と同じパッケージに格納されている場合は、コンパイルエラーが発生します。
解決法
Query クラスを別のパッケージに移動させます。
|
|
4750461
|
SPARC で、動的再読み込み時に Sun ONE Application Server がクラッシュする
エンタープライズ Bean 数の多い大規模なアプリケーションを動的に読み込もうとすると、クラッシュが発生する場合があります。動的再読み込み機能は、開発環境で、アプリケーションのマイナーチェンジを迅速にテストするために使用されます。許可されているよりも多くのファイル記述子を使用しようとすると、クラッシュが発生します。
解決法
- /etc/system ファイルに、形式を変えずに次の行を追加して、使用可能なファイル記述子の数を増やします。アプリケーションのサイズによって値を調節できます。
set rlim_fd_max=8192 set rlim_fd_cur=2048
- システムを再起動します。
|
|
4744128
|
EJB コンパイラで、内部クラス用の有効な Java コードを生成できない
内部クラス型を戻すエンタープライズ Bean を実装する場合、EJB コンパイラは有効な Java コードを生成できません。
public interface IStateServer { .... public StateProperties getProperties(String objectID, String variantName, IToken securityToken) throws RemoteException;
public class StateProperties implements Serializable { public StateProperties() { } public String description = ""; public String owner = ""; public Date modifyTime = new Date(); public String accessPermissions = ""; } } public interface IStateServerEJB extends EJBObject, IStateServer { .... }
メソッド getProperties は内部クラスを戻すことに注意してください。
エラーの例を示します。
D:¥AppServer7a¥appserv¥domains¥domain1¥server1¥generated¥ejb¥j2ee-apps¥smugglercom¥spss¥ssp¥state¥ejb¥StateServerEJB_EJBObjectImpl.java:133:
内部クラスの合成名を直接使用することはできません。 com.spss.ssp.state.IStateServer$StateProperties
次のコードが生成されます。 com.spss.ssp.state.IstateServer.StateProperties
次のコードは生成されません。 com.spss.ssp.state.IStateServer$StateProperties
解決法
StateProperties を内部クラス以外の独立したクラスに移動させます。
|
|
4756093
|
配備済みアプリケーションを再配備すると、Sun ONE Application Server の再起動後、このアプリケーションは失敗する
Sun ONE Application Server インスタンスの実行中にアプリケーションを再配備すると、このアプリケーションは失敗します。
解決法
アプリケーションサーバーインスタンスを停止し、アプリケーションを再配備してから再起動します。アプリケーションサーバーの実行中でなければ、アプリケーションは何回でも再配備できます。
|
|
4756981
|
アプリケーションの動的再読み込みやアプリケーションの起動時に実行権の問題が発生する
管理サーバーの所有者が root で、アプリケーションサーバーインスタンスの所有者がそれ以外のユーザーである場合、アプリケーションの動的再読み込みやアプリケーションの起動時に実行権の問題が発生します。
解決法
モジュールやアプリケーションを (プリコンパイルオプション付き、またはオプションなしで) 配備 (再配備) したあと、ディレクトリの所有者を root からそれ以外のユーザーに変更します。所有者の変更は、次に挙げる各ディレクトリに再帰的に適用されます。
domain_root/server_instance/applications/j2ee-apps/application_name domain_root/server_instance/applications/j2ee-modules/module_name domain_root/server_instance/generated/ejb/j2ee-apps/application_name domain_root/server_instance/generated/jsp/j2ee-apps/application_name domain_root/server_instance/generated/jsp/j2ee-modules/module_name
- スーパーユーザーになります。
- 次のコマンドを使って、ディレクトリの所有者を変更します。
# chown -R non_root_instance_owner directory_name
|
|
4834004
|
アプリケーションを配備しているときに java.lang.OutOfMemoryError 例外が発生する
アプリケーションを配備しているときに、Sun ONE Application Server によって java.lang.OutOfMemoryError 例外が server.log にスローされます。多数のアプリケーションを配備する場合は、JVM のヒープサイズが小さいと、問題が発生します。
解決法
server.xml ファイルで、次の手順を実行します。
JVM のヒープサイズを 512M バイト (デフォルトは 256) に設定します。
[ <jvm-options> -Xms128 -Xmx512 </jvm-options> ]
デフォルトのプールサイズを非常に小さい値 (25 など) に設定します。この設定によりパフォーマンスが低下することがありますが、機能テストには便利です。
[ <server> <availability-service> <persistence-store> <property name="ha-store-pool-size" value="25"/> ... </server> ]
|
ベリファイア
この節では、ベリファイアに関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4742545
|
スタンドアロンベリファイアから EJB クラスが見つからないというエラーが報告される
「EJB Class Not Found (EJB クラスが見つかりません)」というメッセージが表示され、テストに失敗することがあります。EJB JAR ファイルによって使用されるエンタープライズ Bean が、同一の EAR アプリケーション内の別の EJB JAR ファイル内にあるその他のエンタープライズ Bean を参照する場合、テスト時に障害が発生します。コネクタ (RAR) に依存する EAR ファイルを検証しようとした場合も、障害メッセージが表示されます。これは、RAR バンドルを、RAR バンドルファイルに依存するエンタープライズ Bean が格納されている EAR ファイル内にパッケージ化する必要がないからです。障害 (コネクタ関連の障害を除く) を報告するのは、スタンドアロンベリファイアだけです。配備コマンドや管理インタフェースによって呼び出されたベリファイアでは、この障害は報告されません。
解決法
アプリケーション EAR のパッケージ化が正しいことを確認します。ユーティリティ JAR ファイルを使用している場合は、EAR ファイル内にパッケージ化されます。参照エラーを解決するには、asadmin または管理インタフェースを使って配備バックエンドからベリファイアを呼び出します。コネクタ関連の障害が発生する場合は、ベリファイアのクラスパスに、必要なクラスを持つ JAR ファイルを配置します。install_root/bin/verifier[.bat] ファイルを開き、JVM_CLASSPATH 変数の末尾に LOCAL_CLASSPATH 変数を追加できます。LOCAL_CLASSPATH 変数にローカルでクラスを追加したあと、ベリファイアを実行します。
|
|
4743480
|
ベリファイアがローカルホームインタフェースのスーパーインタフェースで宣言されたメソッドを検出できない
ベリファイアは、ローカルホームインタフェースが J2EE 仕様に準拠しているかどうかをテストします。ローカルホームインタフェースがスーパーインタフェースから派生したもので、必要なメソッドがスーパーインタフェースに宣言されている場合、findByPrimaryKey メソッドの一部のテストが失敗します。失敗したテストは、HomeInterfaceFindByPrimaryKeyArg、HomeInterfaceFindByPrimaryKeyName、HomeInterfaceFindByPrimaryKeyReturn、PrimaryKeyClassOpt という名前のテストによって実行されたものです。モジュールやアプリケーションで -verify オプションを使用すると、配備にも失敗します。
解決法
関数がローカルホームインタフェースのスーパーインタフェースに正しく宣言されている場合、テスト結果は無視してかまいません。この場合、配備コマンドに -verify オプションを指定しないでください。配備は正しく完了します。派生したホームインタフェース内に同じ関数を宣言すれば、検証は成功します。
|
設定
- java-config 要素の env-classpath-ignored 属性のデフォルト値は true
- このリリースでは実装されない:
- このリリースでは推奨されない:
- J2EE 1.4 アーキテクチャの変更により、将来のリリースではサポートされない要素がある:
次の表に、Sun ONE Application Server 7, Enterprise Edition の設定に関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4742559
|
IPv6 を使用しないネットワークでは、この問題は適用されません。
注: IPv6 を使用しないネットワークでは、この問題は適用されません。
Sun ONE Application Server は、デフォルトで IPv4 を使用します。これは、Sun ONE Application Server を使用できるすべてのプラットフォームでサポートされています。特定のプラットフォームでは、IPv6 がサポートされています。このようなプラットフォームでは、Sun ONE Application Server の設定を変更する必要があります。
注: 設定を変更する場合は、プラットフォームで IPv6 が確実にサポートされることを確認してください。IPv4 しかサポートしないシステムに IPv6 関連の設定を適用すると、サーバーインスタンスが起動しなくなることがあります。
解決法
次の手順に従って設定を変更します。
- 管理サーバーを起動します。
- Administration interface を起動します (ブラウザで HTTP ホスト名とポートを指定し、管理サーバーに接続します)。
- IPv6 用に設定するアプリケーションサーバーインスタンスを選択します (server1 など)。
- ツリービューで HTTP リスナーノードを展開します。
- IPv6 用に設定する HTTP リスナーを選択します (http-listener1 など)。
- 「General (一般)」の「IP Address (IP アドレス)」フィールドの値を ANY に変更します。
- 「Advanced (詳細)」の「Family (ファミリ)」フィールドの値を INET6 に変更します。
「Family (ファミリ)」フィールドの値を INET6 に変更しても、IP アドレスとして IPv6 アドレスを選択しないかぎり、IPv4 の機能は有効です。「IP Address (IP アドレス)」の値が ANY の場合、IPv4 と IPv6 の両方のアドレスが有効になります。
- 「Save (保存)」をクリックします。
- 左側のペインで、サーバーインスタンスを選択します。
- 「Apply Changes (変更の適用)」をクリックします。
- 「Stop (停止)」をクリックします。
- 「Start (起動)」をクリックします。サーバーが再起動し、変更内容が有効になります。
|
配置記述子
この節では、Sun ONE Application Server 7, Enterprise Edition 配備記述子に関する既知の問題について説明します。
sun-cmp-mapping.xml の問題
- このリリースでは実装されない:
check-modified-at-commit
lock-when-modified
sun-ejb-jar.xml の問題
監視
この節では、Sun ONE Application Server 7 の監視に関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4734595
|
失敗した接続の合計数を確認するテストで、正しい値が表示されない
リファレンス実装 (RI) 内のダブルプーリングによって発生する問題です。
解決法
解決法はありません。
|
|
4737227
|
http-server で FlagAsyncEnabled の値が 1 に設定されない
Sun ONE Web Server の既知の問題です。
解決法
解決法はありません。
|
|
4752199
|
getPrimaryKey()、getEJBMetaData()、getHomeHandle() メソッドでは、監視 Bean メソッドの属性値が表示されない
監視ツールで、エンタープライズ Bean 内の監視可能なメソッドを確認できます。getPrimaryKey()、getEJBMetaData()、getHomeHandle() メソッドについては、メソッドレベルの監視属性の値が常に 0 になります。
解決法
解決法はありません。
|
高可用性
この節では、高可用性に関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4828779
|
アクティブなノードが停止したときに、予備のノードが取り込まれない
データを持たないアクティブなノードが停止すると、予備のノードが修復処理を実行できないため、修復処理がハングアップします。修復処理では、予備のノードにデータがコピーされる必要があります。
解決法
断片化を再度実行して、新しく追加したノードにデータを再配布し、空の状態になっているアクティブなノードがないようにします。
|
|
4831332
|
スーパーユーザーが root になるときに、HADBM の作成が機能しない
"su" を使用して root になるときは、HADBM によって特定のパスに関するアクセス問題が報告されることがあります。HADBM には、ユーザー "root" の環境情報が必要です。
解決法
"su -" を使用して、再試行します。
|
|
4842677
|
Netscape 4.79 では、フェイルオーバー中に送信された要求が送信時に失われる
状況: 2 台のマシンから成るクラスタ設定において、各マシンでアプリケーションサーバーインスタンスが実行されている場合、アプリケーションサーバーの両方のインスタンスにセッションベースのアプリケーションが配備されます。次に例を示します。
セッションベースのアプリケーションが属性/値ペアを取得し、それをセッションに格納して、セッションに格納されたものを表示しているとします。要求の送信後に、要求を処理したアプリケーションサーバーインスタンスをシャットダウンします。ここで、ブラウザから別の属性/値ペアを使って要求の送信を試みます。最初の要求を処理したアプリケーションサーバーインスタンスがシャットダウンされているので、要求は失敗し、要求を再送信するためのオプションが付いたエラーメッセージが表示されます。「Resubmit(再送信)」リンクをクリックすると、要求が再送信されます。ただし、Netscape 4.79 ブラウザを使用している場合は、結果のページに最初の属性/値ペアしか表示されません。つまり、2 番目の属性/値ペアはセッションに追加されません。
Netscape 7.0 または Internet Explorer 6.0 を使用している場合は、2 番目の属性/値ペアが正しく追加されます。
解決法
Netscape 7.0 ブラウザまたは Internet Explorer 6.0 ブラウザを使用します。
|
|
4842830
|
ComStream が閉じて、JDBC クライアントに達する
これは、SQL コマンドの内部処理の同期化に使用される内部メッセージです。何らかの解決できないエラーがある場合に、特定のユーザーエラーではなく、このエラーメッセージがアプリケーションクライアントに送信されることがあります。この問題は、HADB の将来のリリースで解決される予定です。
解決法
操作を再試行します。
|
|
4843422
|
HADB 接続プールが失われ、アプリケーションを配備するときに再作成される
多数のアプリケーションを配備すると、HADB への最大接続数を超えて、アプリケーションが失敗することがあります。
解決法
アプリケーションを配備した後で、HADB サーバーを再起動します。
|
|
4846432, 4846691, 4861489
|
データベースの作成に使用したマシンとは別のマシンから hadbm を実行するときに、その他の hadbm コマンドが機能しない
管理クライアントは、同じクライアントマシンから起動する必要があります。このクライアントでは、設定情報と、サーバーの起動および停止に関する情報を記録しています。起動および停止に異なるクライアントとサーバーが使用された場合は、この情報がすべてのノードに配布されるとは限りません。
解決法
データベースの作成に使用したマシンから再試行します。
|
|
4861396
|
カーソルに回復できない障害が発生する
別の障害 (ロックの可能性が最も大きい) が隠されています。
解決法
適切であれば、トランザクションに別の遮断レベルを使用します。そうしないと、ロックの数が増えてしまいます。
|
|
4861405
|
2 つの IP インタフェースを同じサブネット上で使用してマシンに接続しているときに問題が発生した
同じサブネット上で異なる IP アドレスを持つ複数のネットワークインタフェースを使用してサーバーに接続すると、失敗します。HADB では、同じサブネット上で複数のインタフェースを使用できません。
解決法
1 つまたは複数のネットワークインタフェースを切り離して、所定のサブネット上にインタフェースが 1 つだけ存在するようにします。
|
|
4861465, 4855623
|
制御された停止中に NSUP が誤ってネットワークパーティションを検出する
制御された停止では、停止状態ファイルが正しく更新されないことがあります。制御された停止後にデータベースを再起動すると、ノードがハングアップします。
解決法
hadbm status --nodes コマンドを使用して、引き続き有効になっているノードを調べます。次に、部分的に実行されている各ノードに対して、hadbm stopnode -f <node_number> を実行します。
|
|
4888728
|
hadbm ヘルプが機能しない
tcsh/csh シェルを使用しているときは、HADBM ヘルプの呼び出しが機能しません。
解決法
tsch/csh シェルから HADBM を呼び出すには、オプションを -¥? または "-?" に指定する必要があります。
|
|
4899950
|
HADBM で、 stty への書き込み時に、エラーメッセージの原因が端末にあるかどうかを確認しない
stty の使用時は、tty が端末であることを確認します。
解決法
tty が端末であるかどうか確認します。このエラーは、HADBM がシェルから呼び出される場合には発生しません。
|
|
4897966
|
HADBM のマニュアルページが製品からなくなっている
hadbm のマニュアルページをコピーし、MANPATH を設定する必要があります。
解決法
- man というディレクトリを installation directory の下に作成します (まだ作成していない場合)。
- smanlm というディレクトリを Installation Directory/man の下に作成します (まだ作成していない場合)。
- cd_image/manpage/hadbm.lm ファイルを Installation Directory/man/smanlm にコピーします。
- Installation Directory/man を環境変数 MANPATH の既存の値に追加します。
これで、man hadbm を実行すれば、マニュアルページにアクセスできます。
|
サーバーの管理
この節では、次のトピックを取り上げます。
コマンド行インタフェース (CLI)
この節では、コマンド行インタフェースに関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4676889
|
シングルモードで実行する CLI コマンドの文字数が 256 文字を超える場合、オーバーフローが発生する
UNIX (R) では、シングルモードで実行する CLI コマンドの文字数が 256 文字を超える場合、コマンドの実行に失敗し、「Command Not Found (コマンドが見つかりません)」というエラーが表示されます。
CLI の制限ではありません。
例
create-jdbc-connection-pool --instance server4 --datasourceuser admin --datasourcepassword adminadmin --datasourceclassname test --datasourceurl test --minpoolsize=8 --maxpoolsize=32 --maxwait=60000 --poolresize=2 --idletimeout=300 --connectionvalidate=false --validationmethod=auto-commit --failconnection=false --description test sample_connectionpoolid)
解決法
- 実行するコマンドの文字数が 256 文字を超える場合は、マルチモードを使用してください。
- シングルモードを使用する必要がある場合は、OpenWindows コマンドツール (cmdtool) を使ってコマンドを実行してください。
|
|
4680409
|
SSL を使用するように設定したあと、CLI からもブラウザクライアントからも管理サーバーにアクセスできない
解決法
SSL を使って管理サーバーにアクセスする各クライアントに Sun ONE Application Server 証明書をインポートし、この証明書を持ったサーバーが信頼できるサーバーであると規定します。証明書をインポートして信頼を獲得する方法は、ブラウザによって異なります。詳細については、ご使用のブラウザのオンラインヘルプを参照してください。
CLI では、サーバーの証明書が servercert.cer ファイル内にあり、インストールディレクトリが /INSTALL である場合、次のコマンドを実行します。
keytool -import -file servercert.cer -alias server -keystore /INSTALL/jdk/jre/lib/security/cacerts
注: この問題の発生を防止するには、 管理サーバーが SSL を使用するように設定する前に、サーバーとクライアントの両方に管理サーバーの証明書をインストールしておきます。
|
|
4688386
|
シングルモードの CLI コマンドでアスタリスク (*) を使用すると、予期しない結果になります。または、エラーメッセージが表示されます。
アスタリスクは、シェルによって複数の名前のリストに変換されます。コマンド行インタフェース (CLI) コマンドは、このリストの情報を受け取ります。複数の名前のリストに変換されるのを防ぐには、アスタリスクを引用符で囲みます。この場合、CLI はアスタリスクそのものを受け取ります。
解決法
アスタリスクを引用符または二重引用符で囲みます。
|
|
4701361
|
変更を繰り返し適用するとメモリ不足エラーになる
管理サーバーは、メモリを使用して、システムの全変更記録を保持しています。再設定を行うと、この変更記録 (変更内容自体ではない) は破棄され、メモリが解放されます。
解決法
asadmin reconfig コマンドを定期的に実行し、古い変更記録を破棄してください。
|
|
4704328
|
重複したドメインを作成する呼び出しに失敗したとき、クリーンアップが行われない
既存のドメインと重複するドメインを作成すると、適切なエラーメッセージが生成されます。しかし、create-domain コマンドの -path オプションで指定されたディレクトリが作成されます (同じ名前のディレクトリが存在しない場合)。これを削除しないと、コマンドの実行に失敗します。
解決法
-path オプションによって作成されたと思われる余分な空ディレクトリをすべて削除します。
|
|
4722007
|
監視: 1 ミリ秒よりも短い実行時間を測定できない
エンティティ Bean メソッドを監視しているとき、execution-time-millis 属性の値が -1 になります。たとえば、次のコマンドを実行するとします。
iasadmin>get -m server1.application.usecase1app.ejb-module.UseCase1Ejb_jar.entity-bean.BeanOne.bean-method.method_create0.*
次の属性が戻されます。
Attribute name = total-num-errors Value = 0 Attribute name = method-name Value = public abstract com.iplanet.ias.perf.jts.UseCase1.ejb.BeanOneRemote com.iplanet.ias.perf.jts.UseCase1.ejb.BeanOneHome.create() throws javax.ejb.CreateException,java.rmi.RemoteException Attribute name = total-num-calls Value = 0 Attribute name = total-num-success Value = 0 Attribute name = execution-time-millis Value = -1
監視を開始する前に、execution-time-millis のデフォルト値は -1 に設定されます。これは、その時点で属性値を無効にするためです。このように非常に低い値が設定されるのは、デフォルト値が 0 になっていると、すでに実行時間が測定されていたと誤って判断されるからです。
解決法
解決法はありません。
|
|
4724743
|
asadmin reconfig コマンドフラグが誤って解釈される
一般に、asadmin オプションには、状態値として true または false を設定できます。true を設定した場合、false を設定した場合とまったく逆の結果になります。これに対し、asadmin reconfig コマンドは、 a) 手動での変更内容を確認し、例外をスローする、b) 手動での変更内容を保存する、c) 手動での変更内容を破棄するという 3 つの状態を処理します。コマンドのオプションは、 --keepmanualchanges と --discardmanualchanges の 2 つです。この 2 つのオプションを、さまざまな組み合わせで使用できます。
ここでは、その一部だけを紹介します。有効な組み合わせは次のとおりです。
- discardmanualchanges=true --keepmanualchanges=false
-
意味: 手動での変更内容を破棄し、管理サーバーによる変更内容を採用する
- discardmanualchanges=false --keepmanualchanges=true
-
意味: 手動での変更内容を保存し、管理サーバーによる変更内容を破棄する
- discardmanualchanges=false --keepmanualchanges=false
-
意味: 手動での変更があった場合、例外をスローする
- discardmanualchanges
-
意味: 1 と同じ
- keepmanualchanges
-
意味: 2 と同じ
- (オプションなし)
-
意味: 3 と同じ
無効な組み合わせは次のとおりです。この組み合わせを使用した場合、asadmin により、組み合わせが不正であるというメッセージが表示されます。
--discardmanualchanges --keepmanualchanges
--discardmanualchanges=true --keepmanualchanges=true
注:--discardmanualchanges=false オプションと --keepmanualchanges=true オプションは等価ではありません。--discardmanualchanges=false を指定した場合、オプションを指定しないのと同じ結果になります。
解決法
解決法はありません。
|
|
4733109
|
コマンド行インタフェースで作成した持続マネージャファクトリリソースを表示しているとき、管理インタフェースにベリファイアのエラーが報告される
コマンド行インタフェースで作成された持続マネージャファクトリリソースを管理インタフェースに表示しているとき、リソースに関する次のエラーが報告されます。
ArgChecker Failure:Validation failed for jndiName:object must be non-null
解決法
解決法はありません。
|
|
4742993
|
Solaris で、Solaris に統合されている Sun ONE Application Server 上で flexanlg コマンドを使用すると、オープン障害が発生する
Solaris オペレーティング環境に統合されている Sun ONE Application Server を実行している場合、/usr/appserver/bin から flexanlg コマンドを実行すると、オープン障害エラーが発生します。
ld.so.1:/usr/appserver/bin/flexanlg:fatal:libplc4.so:open failed:No such file or directory Killed
解決法
次の手順を実行してください。
- LD_LIBRARY_PATH ファイルに次のエントリを追加します。
/usr/lib/mps
- flexanlg コマンドを実行します。
% /usr/appserver/bin/flexanlg
|
|
4750518
|
ターゲット管理サーバー上で一部の CLI コマンドが動作しない
ターゲット管理サーバーの CLI では、create、delete、list コマンドを使って、管理サーバーの server.xml ファイル内で新しい要素 (SSL、mime、プロファイラ、リソースなど) を作成、削除、一覧することができません。
解決法
管理サーバー内で要素を作成、削除、一覧するには、Administration interfaceを使用します。
|
|
4895449
|
create-ssl コマンドが rsa_3des_sha を ssl3Ciphers の値の 1 つとして受け入れない
解決法
ssl3Ciphers を rsa_3des_sha に設定するには、次の手順を実行します。
- 次のように set コマンドを使用します。
asadmin set --user user --password password --host hostname --port 4848 server1.http-listener.http-listener-id.ssl3Ciphers=rsa_3des_sha
- あるいは、管理インタフェースを使用します。
|
|
4897966
|
「hadbm」マニュアルページの一部が製品からなくなっている
解決法
- man というディレクトリを install_dir の下に作成します (まだ作成していない場合)。
- smanlm というディレクトリを install_dir/man の下に作成します (まだ作成していない場合)。
- cd_image/manpage/hadbm.lm ファイルを install_dir/man/smanlm にコピーします。
- install_dir/man を環境変数 MANPATH の既存の値に追加します。
これで、man hadbm を実行すれば、マニュアルページにアクセスできます。
|
管理インフラストラクチャ
この節では、管理インフラストラクチャに関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4686003
|
HTTP の QOS 制限が適用されない
サービス品質 (QOS) では、最大 HTTP 接続数と帯域幅を指定できます。これらの属性の制限値を超えると、クライアントに 503 エラーが戻されます。しかし、管理インタフェースを使って QOS を有効にすると、サーバーは QOS の制限を適用しなくなります。
解決法
QOS 機能をすべて有効にするには、仮想サーバーの obj.conf ファイル内のデフォルトオブジェクトの先頭に AuthTrans fn=qos-handler 行を手動で追加します。qos-handler サーバーアプリケーション関数 (SAF) と obj.conf 設定ファイルについては、『Developer's Guide to NSAPI』を参照してください。
|
|
4692673
|
非デバッグモードで実行していたインスタンスをデバッグモードで再起動すると、失敗することがある
「Start/Restart in debug mode (デバッグモードで起動または再起動)」チェックボックスをオフにした状態でインスタンスを起動すると、このチェックボックスに関連した設定が機能しなくなります。たとえば、管理インタフェースで「Debug Enabled (デバッグを有効)」チェックボックスを選択しても、チェックボックスはオンになりません。server.xml ファイルの debug-enabled 行の値も false になります (debug-enabled=false)。
解決法
解決法はありません。
|
|
4723776
|
SPARC で、SSL 対応の環境に移行すると、サーバーの起動に失敗する
証明書をインストールし、セキュリティを有効にしたあと、Sun ONE Application Server を再起動しようとすると失敗します。サーバーがパスワードの受け取りに失敗したというメッセージが表示されます。「Start (起動)」ボタンを再度クリックすると、サーバーが起動します。SSL が有効になっていないと、パスワードがキャッシュに格納されず、再起動に失敗します。restart コマンドは、非 SSL モードから SSL モードへの移行をサポートしません。
注: この問題は、サーバーを初めて再起動するときだけ発生します。2 回目以降の再起動は正常に行われます。
解決法
この問題が発生したら、次のことを行ってください。
「Start (起動)」ボタンをクリックします。
この問題が発生するのを防ぐには、「Restart (再起動)」ボタンをクリックしないで、次の手順を実行してください。
「Stop (停止)」ボタンをクリックします。 「Start (起動)」ボタンをクリックします。
|
|
4724780
|
別のシステムで作成されたドメインでは管理サーバーを起動できない
- PCNFS がマウントされたドライブで作成されたドメインでは、PCNFS ドライブに関する Microsoft の既知の問題により、管理サーバーとその他のインスタンスを起動できません。
- ディレクトリパスが異なっていても、製品がインストールされているローカルドライブで作成されたドメインであれば、管理サーバーもインスタンスも正常に動作します。
解決法
解決法はありません。
|
|
4736554
|
サーバーから安全な HTTP リスナーを削除したあとも、(もう存在しない) パスワードの入力を求めるプロンプトが表示される
解決法
サーバー全体を削除し、追加し直します。
注: この問題の発生を防止するには、HTTP リスナーを削除する前に、次のコマンドを使ってセキュリティを無効化します。
/export2/build/bin/> asadmin set --user admin --password adminadmin server1.http-listener.http-listener-1.securityEnabled=false Attribute securityEnabled set to false. /export2/build/bin/> asadmin delete-http-listener --user admin --password adminadmin ls2 Deleted Http listener with id = ls2
|
|
4739831
|
インスタンスの一部が削除されていると、一部の CLI コマンドから正しい応答を得ることができない
サーバーインスタンスの一部が削除されていると、一部の CLI コマンドで問題が発生します。以下に、問題とその解決方法を示します。
- create-instance をローカルモードで実行すると、サブディレクトリが存在していない場合も、インスタンスフォルダ内にインスタンスが存在すると報告される
解決法
インスタンスディレクトリを手動で削除してから create-instance コマンドを実行します。
- list-instances コマンドをローカルモードで実行すると、インスタンス名と状態情報が一部削除された状態で出力される
解決法
インスタンスディレクトリを手動で削除してから list-instance コマンドを実行します。
解決法
インスタンスディレクトリを手動で削除し、新しいインスタンスを作成してから start-instance コマンドを実行します。
Solaris で、stop-instance コマンドをローカルモードで実行すると、実際には config というディレクトリは存在しないのに、インスタンスの config ディレクトリにアクセスするアクセス権がないというメッセージが表示される
解決法
インスタンスディレクトリを手動で削除します。
|
|
4739891
|
仮想サーバーによって参照されるデフォルトの Web モジュールが存在しない場合、またはこのモジュールの配備が取り消された場合、仮想サーバーを削除しようとすると失敗する
解決法
仮想サーバーの「Default Web Module (デフォルト Web モジュール)」フィールドの値を「None Selected (何も選択されていません)」に設定し、「OK (了解)」をクリックして変更内容を保存します。その後、仮想サーバーを削除します。
|
|
4740022
|
SNMP: 新しいインスタンスサーバーを追加して起動すると、END OF MIB メッセージが表示される
インスタンスサーバーとサブエージェントをシャットダウンしないで新しいインスタンスを追加し、起動すると、END OF MIB メッセージが表示されます。
解決法
- 新しいインスタンスを表示するには、サブエージェントとすべてのインスタンスサーバープロセスをシャットダウンします。各サーバーで、「Monitoring (監視)」の「Enable SNMP Statistics Collection (SNMP 統計収集を有効)」をオンに設定します。その後、各インスタンスサーバーを再起動し、サブエージェントプロセスを 1 つだけ再起動します。
- サブエージェントがすでに実行中の場合は、これ以上起動しないでください。Sun ONE Application Server をインストールするときは、必ずマスターエージェントとサブエージェントを 1 つずつ使用します (全ドメイン、全インスタンスに共通)。
|
|
4780488
|
複数の obj.conf ファイルが存在すると、混乱が生じる
Sun ONE Application Server インスタンスを作成すると、instance-dir/config/ ディレクトリに obj.conf と virtual-server-name-obj.conf と呼ばれる 2 つの obj.conf ファイルが格納されます。virtual-server-name はインスタンスの作成時に自動的に作成される仮想サーバーのインスタンス名です。このマニュアルでは、対象の仮想サーバーに関連した obj.conf ファイルを変更することを、「obj.conf ファイルの変更」と表示します。
Sun ONE Application Server がインストールされている場合、obj.conf と server1-obj.conf ファイルは /domains/domain1/server1/config/ ディレクトリに格納されます。obj.conf ファイルの内容は仮想サーバーレベルで指定された server1-obj.conf ファイルの内容にオーバーライドされます。Sun ONE Application Server インスタンスは obj.conf を使用しません。
たとえば、プラグインを使って Sun ONE Application Server を設定する際、obj.conf ファイルを変更すると、不正な obj.conf ファイルが変更されるので、passthrough 設定が有効になりません。
解決法
obj.conf ファイルを変更する場合は、obj.conf の前に対象の仮想サーバー名が付加されたファイルを変更します。
|
|
4825972
|
新たに仮想サーバーと HTTP リスナーを追加したあとで、SNMP データにそのリスナーが表示されない
新たに仮想サーバーと HTTP リスナーを追加し、変更内容を適用して、サーバーを再起動したあとで、追加した HTTP リスナーが SNMP 監視ツールで表示できません。
解決法
新しいリスナーを追加したあとで、SNMP 監視サブエージェントを再起動します。
|
|
4865739
|
server.xml 内のインスタンスポートのネガティブテストによって domains.bin が壊れる
ポート番号または IP アドレス (あるいはその両方) に英字が含まれている場合は、新しいインスタンスを作成できないため、現在のインスタンスが管理不能になります。
解決法
- server.xml ファイルとバックアップ用の server.xml ファイルを編集し、ポート番号または IP アドレス (あるいはその両方) を訂正します。
- keepmanualchanges=true オプションを使って asadmin reconfig コマンドを実行します。
- 管理インタフェースを使用し、「Administration (管理)」ツリーでインスタンス名を選択して、インスタンスを停止します。
- 管理サーバーとアプリケーションサーバーインスタンスを再起動します。
|
|
4898964
|
CLI コマンド delete-ssl が管理サーバー (admin-server) に対して機能しない
解決法
- 該当する admin-server/config ディレクトリに移動します。
- server.xml ファイルをバックアップします。
- server.xml ファイルを開き、http-listener セクションの <ssl で始まる行を削除して、ファイルを保存します。
- --keepmanualchanges=true オプションを使って asadmin reconfig コマンドを実行します。
|
管理インタフェース
管理インタフェースを使用するときは、ブラウザがキャッシュからではなくサーバーから最新のページを取り出す設定になっているかどうかを確認してください。一般に、デフォルトのブラウザ設定では問題は発生しません。
- Internet Explorer では、「ツール」 -> 「インターネットオプション」 -> 「設定」を選択し、「保存しているページの新しいバージョンの確認」で「確認しない」が選択されていないことを確認します。
- Netscape では、「編集」 -> 「設定」 -> 「詳細」 -> 「キャッシュ」を選択し、「キャッシュにあるページとネットワーク上のページの比較」で「しない」が選択されていないことを確認します。
この節では、Sun ONE Application Server 7, Enterprise Edition の管理用グラフィカルユーザーインタフェースに関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4725473
|
Administration interfaceのニックネームリストに外部証明書のニックネームが表示されない
Sun ONE Application Server 管理インタフェースを使って外部証明書をインストールした場合、外部暗号化モジュール上にインストールされた証明書を使って HTTP リスナーで SSL を有効にしようとすると問題が発生します。証明書は正しくインストールされていますが、管理インタフェースに証明書のニックネームが表示されません。
解決法
- 管理ユーザーとして、Sun ONE Application Server のインストールマシンにログインします。
- HTTP リスナーと外部暗号化モジュール上にインストールされた証明書をリンクします。asadmin コマンドを実行します。asadmin コマンドの詳細については、asadmin(1M) のマニュアルページを参照してください。
/sun/appserver7/bin/asadmin create-ssl --user admin --password password --host host_name --port 8888 --type http-listener --certname nobody@apprealm:Server-Cert --instance server1 --ssl3enabled=true --ssl3tlsciphers +rsa_rc4_128_md5 http-listener-1
このコマンドは、証明書とサーバーインスタンスをリンクします。証明書のインストールは行いません (証明書はAdministration interfaceを使用してインストール済み)。証明書と HTTP リスナーのリンクは確立されていますが、HTTP リスナーは非 SSL モードでリッスンします。
- 次の CLI コマンドを使って、HTTP リスナーが SSL モードでリッスンするように設定します。
/sun/appserver7/bin/asadmin set --user admin --password password --host host_name --port 8888 server1.http-listener.http-listener-1.securityEnabled=true
このコマンドは、サーバーインスタンスのリッスンモードを非 SSL から SSL へ切り替えます。
上記の手順が完了すると、Administration interfaceに証明書が表示されます。
- これで、Administration interfaceを使って HTTP リスナーを編集できる状態になりました。
|
|
4728718
|
新しい仮想サーバーを作成し、ログファイルの場所を示す値を指定すると、「File Not Found (ファイルが見つかりません)」というエラーが報告される
管理インタフェースのログファイルフィールドでは、値を追加できません。
解決法
作成した仮想サーバーをいったん削除し、必要なファイルを作成します。その後、再度仮想サーバーを作成します。
注: この問題の発生を防止するには、新しい仮想サーバーを作成する前にログファイルを作成するようにします。
|
|
4741123
|
Solaris 9 update 2 のデフォルトのブラウザは、Sun ONE Application Server 7 と互換性がない
デフォルトのブラウザで Sun ONE Application Server のAdministration interfaceを使用しようとすると、次のエラーメッセージが表示されます。
Unsupported Browser:Netscape 4.78
Sun ONE Application Server の管理インタフェースを実行するには、Netscape 4.79 または Netscape 6.2 以上へアップグレードすることをお勧めします。アップグレードしない場合、パフォーマンスが低下したり、管理インタフェースが正しく実行されない可能性があります。
解決法
/usr/dt/bin/netscape ではなく /usr/dt/bin/netscape6 を使用してください。
|
|
4750616
|
Netscape Navigator の一部のバージョンではアクセス制御リスト (ACL) の編集がサポートされない
Netscape Navigator バージョン 6.x または 7.x の使用時に ACL エントリを編集しようとすると、ブラウザが表示されなくなる、ACL 編集画面が表示されないなどの問題が断続的に発生します。
解決法
次のいずれかの措置をとります。
- サポートされている Netscape Navigator 4.79 を使用します。
- 手動で ACL ファイルを編集します。ACL ファイル形式の詳細は、『Sun ONE Application Server 管理者ガイド』を参照してください。
|
|
4752055
|
Netscape 4.8 を使用すると、管理インタフェースに警告メッセージが表示される
Netscape 4.8 を使って管理インタフェースにアクセスすると、Netscape 4.8 はサポートされていないブラウザであるという警告メッセージが表示されます。Netscape 4.8 で管理インタフェースを実行しても問題は確認されていませんが、より徹底したテストが必要とされています。
解決法
引き続き管理インタフェースを使用する場合は、警告メッセージの「Continue (継続)」リンクを選択します。
Netscape 4.79 を使用するか、Netscape 6.2 にアップグレードします。
|
|
4760714
|
「Install Certificate (証明書をインストール)」画面に無効な「Help (ヘルプ)」ボタンが表示される
「Install Certificate (証明書をインストール)」画面には、入力された証明書情報が一覧表示されます。Administration interfaceのこの画面に無効な「Help (ヘルプ)」ボタンが表示されます。このボタンをクリックすると、ヘルプページが見つからないというエラーメッセージが表示されます。コンテキストヘルプを使用するには、ページ上部の「Help (ヘルプ)」リンクをクリックする必要があります。
解決法
コンテキストヘルプを使用するには、ページ上部の「Help (ヘルプ)」リンクをクリックします。
|
|
4760939
|
SSL: 「Certificate Nickname (証明書ニックネーム)」に certutil によって生成された自動署名証明書が表示されない
自動署名証明書が certutil によって生成されていると、Administration interfaceに「Certificate Nickname (証明書ニックネーム)」が表示されません。
解決法
自動署名証明書を使用する場合は、server.xml ファイルを手動で編集する必要があります。
|
サンプルアプリケーション
この節では、サンプルアプリケーションに関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4714439
|
PetStore では、すでに存在するユーザーを重複して追加することができない
PetStore サンプルアプリケーションでは、すでに存在するユーザーを追加しようとすると、画面にスタックトレースが表示されます。
解決法
解決法はありません。
|
|
4726161
|
変更されたサンプルは、再配備しないかぎり更新されない
アプリケーションに小さな変更を加えて再パッケージ化してから、サンプルを再配備すると、次のエラーメッセージが表示されます。
「Already Deployed」
この問題は Ant ユーティリティと common.xml ファイルを使用しているサンプルで発生します。このユーティリティとファイルには配備ターゲットが存在するため、アプリケーションの配備とリソースの登録が混同されるのです。
解決法
次のいずれかの措置をとります。
Ant ユーティリティ build.xml ファイルを使用するサンプルアプリケーションの多くには、common.xml ファイルが含まれています。この場合は、次のコマンドを入力してください。
% asant deploy_common
それ以外のサンプルアプリケーションの場合は、次のコマンドを入力してください。
% asant undeploy
% asant deploy
|
|
4733412
|
サンプルアプリケーションコンバータの Web モジュール内に余計な JAR ファイルがある
コンバータアプリケーションの WEB-INF/lib ディレクトリ内に、余計なステートレスコンバータ EJB JAR ファイルがあります。EAR ファイルは、サンプルアプリケーションディレクトリ内にあります。バンドル版の Solaris ビルドでは、次の場所にあります。
/usr/appserver/samples/ejb/stateless/converter/stateless-converter.ear
このファイルを抽出して、stateless-converter という名前の Web モジュールの WEB-INF/lib ディレクトリに移動すると、余計な JAR ファイルが見つかります。この JAR ファイルは、EJB モジュールを呼び出すすべての Web モジュールに適用されます。問題の原因は、アプリケーションの構築時に使用する common.xml ファイルにあります。
解決法
解決法はありません。サンプルアプリケーションの実行時の機能には影響はありません。
|
|
4739854
|
asadmin を使ったリソースの配備方法の説明がない
一部のサンプルのマニュアルには、asadmin コマンドを使ってアプリケーションを配備するようにと記述されているだけで、必要なリソースを作成する手順が記載されていません。
解決法
asadmin コマンドを使ってアプリケーションまたはリソースを配備できます。サンプルの build.xml ファイルからは詳細情報を取得できます。詳細情報は、asant deploy の実行結果からも確認できます。
JDBC/BLOB の例の場合、次の手順で、asadmin を使ってリソースを作成します (ホスト名は jackiel2 とし、管理サーバーのユーザー名、パスワード、ポートは、それぞれ admin、adminadmin、4848 とします)。
asadmin create-jdbc-connection-pool --port 4848 --host jackiel2 --password adminadmin --user admin jdbc-simple-pool
--datasourceclassname com.pointbase.jdbc.jdbcDataSource --instance server1
asadmin set --port 4848 --host jackiel2 --password adminadmin --user admin
server1.jdbc-connection-pool.jdbc-simple-pool.property.DatabaseName=jdbc:pointbase:server://localhost/sun-appserv-samples
|
|
4747534
|
lifecycle-multithreaded サンプルアプリケーションでは、管理ユーザーのパスワードを 8 回も入力しなければならない
asant deploy コマンドを使ってサンプルアプリケーションファイル lifecycle-multithreaded.jar を配備する場合、管理ユーザーのパスワードを 8 回入力する必要があります。
解決法
解決法はありません。
|
|
4748535
|
その他のサンプルファイルの問題
- Logging サンプルの 4 番目のログオプションで複数のログファイルが生成される
- Logging サンプルには余計な log.properties ファイルが含まれている
- サンプルのマニュアルに記載されているセキュリティに関する説明が一部間違っている
解決法
- ハンドラを閉じてから削除します。GreeterServlet.java 内の initLog() メソッドを参照してください。
private void initLog(String log_type) { // Remove all handlers Handler[] h = logger.getHandlers(); for (int i = 0; i < h.length; i++) { h[i].close(); //must do this logger.removeHandler(h[i]); } ... }
さらに、append オプションを指定してファイルハンドラを開きます。GreeterServlet.java 内の addHandler() メソッドを参照してください。次のように記述します。
Handler fh = new FileHandler(log_file, true);
次のようには記述しません。
Handler fh = new FileHandler(log_file);
- build.xml ファイルを次のように編集します。
<fileset dir="${src.docroot}" excludes="cvs,annontation"/>
<fileset dir="${src.docroot}" excludes="cvs,annontation,log.properties"/>
- 「Running the Sample Application」の節で、server.policy ファイルにセキュリティ許可エントリを追加する方法の説明から domains/domain1/ を除去します。
|
ORB/IIOP リスナー
この節では、ORB/IIOP-Listener に関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4743366
|
server.xml ファイル内の iiop-listener 要素の address 属性には ANY を指定できない
デフォルトの設定では、Sun ONE Application Server の iiop-listener 要素のアドレス値は 0.0.0.0 です。このデフォルト設定は、IPv6 インタフェース上でリッスンしません。システムの IPv4 インタフェース上でリッスンするだけです。iiop-listener の address 要素の値を ANY にすると、サーバーはシステム上の全インタフェース (IPv4 または IPv6) でリッスンできますが、この機能はサポートされていません。
server.xml ファイル内の iiop-listener 要素の address 属性値を ANY にすると、システムの全インタフェース上でのリッスンが可能になり、IPv4 インタフェースと IPv6 インタフェースが両方ともサポートされます。
解決法
IPv4 インタフェースと IPv6 インタフェースで、iiop-listener 要素の address の値を "::" にします。この方法は、Solaris 8.0 以上にのみ適用可能です。
|
|
4743419
|
IPv6 アドレスの DNS アドレス検索が失敗する場合、IPv6 アドレスでは RMI-IIOP クライアントが機能しない
IPv6 アドレスの DNS 検索が失敗する場合、IPv6 アドレスでは、RMI-IIOP (Remote Method Invocation-Internet Inter-ORB Protocol) のクライアントが機能しません。
解決法
IPv6 アドレスを検索できるように、配備サイトに DNS (Domain Name Service) を設定します。
|
ローカライズ
この節では、ローカライズに関する既知の問題とその解決方法を示します。
|
ID
|
要約
|
|
4757859
|
システムのデフォルトのエンコードが UTF-8 でない場合にコンソールの出力が正しく表示されない
システムのデフォルトのエンコードが UTF-8 でない場合は、Sun ONE Application Server の出力でマルチバイト文字が正しく表示されません。
解決法
ブラウザで server.log ファイルを開きます。
|
|
4763655
|
アプリケーションまたはシステムが UTF-8 エンコードを使用していないと、「View Event log (イベントログを表示)」の「Only show entries with (表示するエントリタイプ)」フィールドの値が正しく表示されない
ユーザーが「Only show entries with (表示するエントリタイプ)」フィールドにマルチバイト文字を入力してイベントログを検索した場合は、検索結果が表示されるときに、「Only show entries with (表示するエントリタイプ)」フィールドの値が正しく表示されません。この問題は、メッセージ形式を UTF-16 から UTF-8 に変換することによって発生します。
解決法
解決法はありません。
|
問題の報告方法
次の問題については、各ユーザーのサポート手順に従ってください。
- 製品またはマニュアルに関する問題
- 製品の不具合に関する報告
製品またはマニュアルに関するご意見やご提案は、 電子メール (appserver-feedback@sun.com) でお送りください。
改訂履歴
この節では、Sun ONE Application Server 7, Enterprise Edition の初期リリース後に、リリースノートで変更が加えられた箇所について示します。
|
改訂日付
|
変更の詳細
|
|
2003 年 9 月
|
最終リリース
|