アプリケーション・デプロイメントの問題

アプリケーションをデプロイ、インストール、またはプロモートする際に、問題が発生することがあります。 このトピックでは、問題を解決する方法を示します。

どのような問題が発生しましたか?

まず以下の点をチェックしてください。
  • アプリケーション、エンタープライズ Bean モジュール、 または他のリソース用のコンソールに表示するように指定した論理名に、 - / ¥ : * ? " < > | などの無効文字が含まれていないかどうかを確認します。
  • -local フラグを付けた wsadmin $AdminApp install コマンドを使用してアプリケーションをインストールした場合は、サーバーを再始動するか、 またはそのコマンドを -local フラグを付けずに再実行します。

類似した問題が見つからない場合、 あるいは提供された情報でその問題が解決しない場合は、 問題が確認され、文書化されているかを調べてください。

使用可能な オンライン・サポートにはヒントや技術情報、フィックスが記載されているので、参考にしてください。該当する問題が見当たらない場合は 、IBM からのトラブルシューティングのヘルプを参照してください。

アプリケーションが表示されない

アプリケーションが wsadmin ツールを使用してインストールされましたが、そのアプリケーションが「アプリケーション」 > 「アプリケーション・タイプ」 > 「WebSphere エンタープライズ・アプリケーション」で表示されません。

アプリケーションをインストールした際に、構成を保管しなかった可能性があります。
  1. app_server_root/installedApps ディレクトリーに、そのアプリケーションのサブディレクトリーがあることを確認します。
  2. $AdminApp list コマンドを実行して、 表示された項目の中に当該アプリケーションがないことを確認します。
    • bin ディレクトリーで 、wsadmin.bat または wsadmin.sh コマンドを実行します。
    • wsadmin プロンプトから $AdminApp list と入力し、 表示された項目の中に問題のアプリケーションがないことを確認します。
  3. wsadmin ツールを使用してアプリケーションを再インストールします。終了する前に、wsadmin ツールで $AdminConfig save コマンドを実行してください。

デプロイされたアプリケーションを保管できない

デプロイされたアプリケーションを保存できない場合は、オープンされているファイル数がオペレーティング・システムの制限を超えている可能性があります。

[Linux]SuSE9 またはその他の Linux プラットフォームでは、オープンできるファイル数を増やして問題を解決するか、または規律を使用してファイルをクローズするようにアプリケーションを変更することができます。 同時にオープンできるファイル数を増やすには、多数のファイルをオープンする必要のあるプロセスを呼び出す前に、以下のコマンドをシェルで実行します。
ulimit -n number_of_files

各プロセスでファイルの最大数を調整する権限を持つのはルートだけです。 以下のステップを実行して、規律を使用してファイルをクローズするようにアプリケーションを変更します。

  1. ファイルをオープンして作業を完了したら、ファイルの close メソッドを呼び出して、ファイル・ハンドルが再びオペレーティング・システムに解放されるようにします。
  2. 例えば、java.io.FileInputStream クラスおよび FileOutputStream クラスを使用して、それらの close メソッドを呼び出し、ストリームに関連付けられたすべてのシステム・リソースを解放することができます。
[Windows]

アセンブリー・ツール、管理コンソール、または wsadmin ツールで「java.lang.RuntimeException: Failed_saving_bytes_to_wor_ERROR_」エラー

アセンブリー・ツールで デプロイ済みコードを生成しようとしているとき、管理コンソールにアプリケーションまたはモジュールを インストールしているとき、あるいは wsadmin ツールを使用してアプリケーションまたはモジュールを インストールしているときにこのエラーが発生した場合は、システムの一時ファイルのパスが 長すぎる可能性があります。

この問題を確認するには、 システムの TEMP および TMP 環境変数を調べます。 環境変数が長いと、EJB デプロイメント・ツールがアクセスするファイル名のパスが長くなります。

この問題を解決するには、以下のようにします。
  1. すべての WebSphere Application Server プロセスを停止し、すべての DOS プロンプトを閉じる。
  2. 環境変数 TEMP および TMP を、 C:¥TMPC:¥TEMP のように短いものに設定する。
  3. アプリケーションを再インストールする。
あるいは、アプリケーションのリブート、再デプロイ、または再インストールを試してみてください。

wsadmin コマンド $AdminApp installInteractive または $AdminApp install を実行中の WASX7015E エラー

この問題には、考えられる原因が 2 つあります。

  • エラーの全文が以下のような場合:
    [AIX][HP-UX][Linux][Solaris][Windows][IBM i]
    WASX7015E: Exception running command: 
    "$AdminApp installInteractive C:/Documents and Settings/
      myUserName/Desktop/MyApp/myapp.ear";
    exception information:  
    com.ibm.bsf.BSFException: error while
    evaluating Jacl expression: can't find method "installInteractive" 
    with 3 argument(s) for class 
    "com.ibm.ws.scripting.AdminAppClient" 
    [z/OS]
    WASX7015E: Exception running command: 
    "$AdminApp installInteractive Documents and Settings/
      myUserName/Desktop/MyApp/myapp.ear"; exception information:  
    com.ibm.bsf.BSFException: error while
    evaluating Jacl expression: can't find method "installInteractive" 
    with 3 argument(s) for class 
    "com.ibm.ws.scripting.AdminAppClient" 
    ファイルとパス名の指定が間違っています。 この場合は、パスにスペースが含まれているため、 wsadmin プログラムによって、複数のパラメーターがあると解釈されています。

    .ear ファイルのパスを正しく入力してください。 この場合は、次のようにパスを二重引用符で囲みます。

    [AIX Solaris HP-UX Linux Windows][IBM i]
    $AdminApp installInteractive "C:¥Documents 
    and Settings¥myUserName¥Desktop¥MyApps¥myapp.ear"
    [z/OS]
    $AdminApp installInteractive 
    "Documents and Settings/myUserName/Desktop/MyApps/myapp.ear"
  • エラーの全文が以下のような場合:
    [AIX Solaris HP-UX Linux Windows][IBM i]
    WASX7015E: Exception running command: "$AdminApp installInteractive c:¥MyApps¥myapp.ear "; 
    例外情報: com.ibm.ws.scripting.ScriptingException:  WASX7115E: 次の入力ファイルを読み取れません。
    "c:¥WebSphere¥AppServer¥bin¥MyAppsmyapp.ear"
    [z/OS]
    WASX7015E: Exception running command: "$AdminApp installInteractive 
    MyApps¥myapp.ear ";
    例外情報: com.ibm.ws.scripting.ScriptingException:  WASX7115E: 次の入力ファイルを読み取れません。
    "WebSphere¥AppServer¥bin¥MyAppsmyapp.ear"
    アプリケーション・パスが誤って指定されています。 この場合は、パス内の分離文字として、「スラッシュ」(/) を使用する必要があります。

EJB 3.0 モジュール内の CMP または BMP エンティティー Bean をインストールできない

コンテナー管理パーシスタンス (CMP) または Bean 管理パーシスタンス (BMP) エンティティー Bean が含まれている EJB 3.0 モジュールをインストールすると、そのインストールは失敗します。

この製品は、EJB 3.0 モジュールにパッケージ化された CMP または BMP エンティティー Bean が含まれているアプリケーションのインストールをサポートしていません。 CMP または BMP エンティティー Bean は、EJB 2.1 以前のモジュールにパッケージ化する必要があります。

この問題を解決するには、以下を行います。
  1. CMP または BMP エンティティー Bean を、EJB 2.1 以前のモジュールにパッケージ化します。
  2. EJB 2.1 以前のモジュールを持つアプリケーションをインストールします。

アセンブリー・ツールで生成したデータ定義言語 (DDL) が、ターゲット・プラットフォーム上で SQL エラーをスローする

別のプラットフォームのアセンブリー・ツールによって生成されたデータ定義言語 (DDL) ステートメントを実行しようとして SQL エラーを受信した場合 (例えば、Windows 上で設計されたコンテナー管理パーシスタンス (CMP) エンタープライズ Bean を UNIX オペレーティング・システムのサーバー上にデプロイしようとしている場合) は、以下の作業を行ってください。
  • DDL ステートメントをブラウズして、特定のユーザー ID およびパスワードの依存関係を調べ、必要があれば、訂正する。
  • DDL ステートメントをブラウズして、特定のサーバー名の依存関係を調べ、必要があれば、訂正する。
  • ベンダーのメッセージ参照を参照して、特定の SQL エラーに関する原因と推奨アクションを調べる。 IBM DB2® の場合、メッセージ参照をオンラインで確認できます。
Windows オペレーティング・システムまたは AIX® や Linux などのオペレーティング・システムで作成した DDL ファイルを実行した後に以下のエラーを受け取った場合は、ファイル・フォーマットの違いが問題になっている可能性があります。
SQL0104N  An unexpected token "CREATE TABLE AGENT  (COMM DOUBLE,  PERCENT  DOUBLE,  P" was found following "        ".  Expected tokens may include:  " ".  SQLSTATE=42601
この問題を解決するには、以下を行います。
  • [AIX][HP-UX][Solaris][Windows][z/OS]vi エディターで DDL を編集して、 各行頭の文字 Ctl-M を除去する。
  • [Linux]Linux プラットフォーム上でアプリケーションの EAR ファイル用の デプロイメント・コードを再生成する。
  • [IBM i]EDTF を使用してファイルを編集する。

ADMA0004E: 妥当性検査が失敗しました

管理コンソールまたは wsadmin コマンド・プロンプトを使用してアプリケーションをインストールしようとしたときに以下のエラーが発生する場合。
AppDeploymentException: [ADMA0014E: Validation failed. 
ADMA0004E: Validation error in task Specifying the Default Datasource for EJB Modules  JNDI name is not 
specified for module beannameBean Jar with URI filename.jar,META-INF/ejb-jar.xml. You have not specified the 
data source for each CMP bean belonging to this module. Either specify the data 
source for each CMP beans or 
specify the default data source for the entire module.] 
原因の 1 つとしては、WebSphere Application Server バージョン 4.0 では、 各 JAR 内で CMP Bean ごとにデータ・ソースを定義する必要があったことが考えられます。 バージョン 5.0 およびそれ以降のリリースでは、1 つのコンテナー管理パーシスタンス (CMP) Bean に対して 1 つのデータ・ソースを指定することも、JAR ファイル内のすべての CMP Bean に対して 1 つのデフォルト・データ・ソースを指定することもできます。 つまり、インストールの対話 (管理コンソール内のインストール・ウィザードなど) ではデータ・ソース・フィールドはオプションですが、インストールの最後に実行される検証では、少なくとも 1 つのデータ・ソース・フィールドが指定されているかどうかがチェックされます。

この問題を解決するには、再度インストールを実行して、デフォルトのデータ・ソースを指定するか、 または CMP タイプのエンタープライズ Bean ごとにそれぞれデータ・ソースを指定します。

wsadmin ツールを 使用する場合は、$AdminApp installInteractive filename コマンドを使用して、 インストール中にデータ・ソースを要求するプロンプトが出されるようにするか、またはデータ・ソースを 応答ファイルで提供します。

[AIX Solaris HP-UX Linux Windows][IBM i]$AdminApp install コマンドに対するオプションとしてデータ・ソースを指定します。

この構文の詳細については、 wsadmin スクリプトによるエンタープライズ・アプリケーションのインストールを参照してください。

アーカイブ・ファイルのリソース WEB-INF/ibm-web-bnd.xmi をロードできない

Web アプリケーション tmp.war は、 WebSphere Application Server バージョン 5.0 および 5.1 上ではインストールできますが、WebSphere Application Server バージョン 6.0 以降のサーバーではインストールに失敗します。アプリケーションのインストールが失敗するのは、WEB-INF/ibm-web-bnd.xmi ファイルに、基礎となる WCCM モデルが認識しなくなった xmi タグが含まれているためです。

以下のエラー・メッセージが表示されます。

IWAE0007E アーカイブ "tmp.war" のリソース "WEB-INF/ibm-web-bnd.xmi" をロードできませんでした
[2/24/05 14:53:10:297 CST] 000000bc SystemErr     R
AppDeploymentException:
com.ibm.etools.j2ee.commonarchivecore.exception.ResourceLoadException:
IWAE0007E アーカイブ "tmp.war" のリソース "WEB-INF/ibm-web-bnd.xmi" をロードできませんでした
[2/24/05 14:53:10:297 CST] 000000bc SystemErr     R
com.ibm.etools.j2ee.commonarchivecore.exception.ResourceLoadException:
IWAE0007E アーカイブ "tmp.war" のリソース "WEB-INF/ibm-web-bnd.xmi" をロードできませんでした
!Stack_trace_of_nested_exce!
com.ibm.etools.j2ee.exception.WrappedRuntimeException: Exception occurred loading
WEB-INF/ibm-web-bnd.xmi
!Stack_trace_of_nested_exce!

この問題に対処するには、ibm-web-bnd.xmi ファイルから xmi:type=EJBLocalRef タグを除去します。 このタグは以前に相互文書参照タイプのマッチングに使用されていたため、タグを除去してもアプリケーションには影響しません。 これで、アプリケーションが WebSphere Application Server バージョン 5.1 以降のリリースで機能するようになりました。

サポートされる構成 サポートされる構成: IBM 拡張ファイル およびバインディング・ファイルの場合、.xmi または .xml ファイル名拡張子は、Java EE 5 より前のアプリケーションまたはモジュールを使用しているか、 あるいは Java EE 5 以降のアプリケーションまたは モジュールを使用しているかによって異なります。IBM 拡張 ファイルまたはバインディング・ファイルは、ibm-*-ext.xmi または ibm-*-bnd.xmi という名前です。 ここで * は拡張ファイルまたはバインディング・ファイルのタイプ (app、application、ejb-jar、 または web など) です。以下の条件が適用されます。
  • バージョン 5 より前の Java EE バージョンを使用するアプリケーションまたはモジュールの場合、ファイル拡張子は .xmi でなければなりません。
  • Java EE 5 以降を使用するアプリケーションまたはモジュールの場合、ファイル拡張子は .xml でなければなりません。.xmi ファイルがアプリケーションまたはモジュールに組み込まれている場合、.xmi ファイルは無視されます。

ただし、Java EE 5 以降のモジュールが、Java EE 5 より前のファイルを含み .xmi ファイル名拡張子を使用する アプリケーション内に存在することは可能です。

ibm-webservices-ext.xmiibm-webservices-bnd.xmiibm-webservicesclient-bnd.xmiibm-webservicesclient-ext.xmi、 および ibm-portlet-ext.xmi ファイルは、引き続き .xmi ファイル拡張子 を使用します。

sptcfg

インストール環境のモジュール module_name の ObjectName anObject に対し、有効なターゲットが指定されていない

このエラーは、 アプリケーションをインストールするターゲットのセル、ノード、サーバー、 またはクラスターが正しく指定されていない場合に、クラスター化された環境内で発生する可能性があります。 例えば、ターゲットのつづりを誤った場合などに発生します。

この問題を修正するには、 ターゲットの名前を実際の WebSphere Application Server トポロジーと照合し、 誤りを修正した上で再入力します。

すべてのアプリケーションをデプロイメント・マネージャーにアップロードするための「addNode -includeapps」オプションが表示されない

このエラーは、ターゲット・ノード上の一部またはすべてのアプリケーションが、デプロイメント・マネージャーに既にアップロードされている場合に発生することがあります。addNode プログラムは、既にインストール済みのアプリケーションを検出すると、それらは再アップロードしません。

管理コンソールを使用してデプロイメント・マネージャー構成をブラウズし、 既にインストールされているアプリケーションを確認してください。

管理コンソールでエンタープライズ・アプリケーションをインストールすると「 Timeout!!!」というエラーが表示される

このエラーは、 デプロイされていないエンタープライズ・アプリケーションをインストールしようとした場合に発生することがあります。

以下の方法でこの問題を解決します。
  • アセンブリー・ツールで file_name.ear ファイルを開き、「Deploy」をクリックします。このアクションにより、Deployed_file_name.ear という名前のファイルが作成されます。
  • 管理コンソールで、デプロイされた EAR ファイルをインストールします。

EJB モジュール を含むアプリケーションのデプロイ時の NameNotFoundException メッセー ジ

EJB デプロイメント・ツールが アプリケーションのインストール中に稼働するように指定していて、NameNotFoundException メッセージが表示されて インストールに失敗する場合は、入力 JAR または EAR ファイルがソース・ファイルを含んでいないことを 確認してください。入力 JAR ファイルまたは EAR ファイルにソース・ファイルが存在する場合、EJB デプロイメント・ツールはデプロイメント・コードを生成する前に、再ビルドを実行します。

この問題に対処するには、ソース・ファイルを除去するか、クラスパスにすべての独立クラスおよびリソース・ファイルを含めるかのいずれかを行います。 それ以外では、ソース・ファイルにより、または独立クラスとリソース・ ファイルへのアクセス不足によって、サーバーでのアプリケーションの再ビ ルド中に問題が生じる可能性があります。

[Windows]

アプリケーションのインストール時に EJB デプロイを呼び出すと、 例外が発生する

アプリケーションのインストール時に EJB デプロイメント・ツールが実行されるよう指定したときに、コマンド行が長すぎることによるエラーが発生してインストールが失敗する場合、インストール時に生成されたデプロイメント・コマンドが、Windows プラットフォームのコマンド行の文字制限を超えていることが原因です。

この問題を回避するには、EAR ファイル名の長さを短くする、 EAR ファイル内の JAR ファイル名の長さを短くする、 デプロイメントで指定するクラスパスまたは他のオプションを短くする、 または Windows システムの %TEMP% 位置を変更して、パスの長さを短くするなどの対策を講じます。

バージョン 5.x 以前用に生成された EJB JAR ファイルのインストー ル時に、コンパイル・エラーを受け取り、EJB デプロイが失敗する

WebSphere Application Server バージョン 5.x またはそれ以前のバージョンで稼働するようにビルドされた EJB モジュールを使用する旧バージョンのアプリケーションをインストールすると、コンパイル・エラーを起こしたり、 EJB デプロイが失敗したりします。 EJB JAR ファイルは、旧バージョンで作成されたコード向けに、Java ソースを含んでいます。旧バージョンの Java ソースは、 バージョン 5.x 以前のバージョン向けに生成されましたが、WebSphere Application Server バージョン 6.x 以降の製品にデプロイする場合は、 バージョン 6.0 以降のランタイム JAR ファイルを使用してコンパイルされます。

この問題を回避するには、アプリケーションの EAR ファイルからすべての .java ファイルを除去します。 Java ソース・ファイルを除去後に、アプリケーションをサーバーに正常にデプロイできます。

文書のアップロード中に、 addNode -includeapps が OutOfMemoryError 例外で失敗する

大容量 EAR ファイルがあるアプリケーションのインストール中に addNode -includeapps を使用すると、 このエラーが発生する場合があります。 以下の方法でこの問題を解決します。
  • addNode を使用して基本サーバーからノードを追加する場合は、 addNode スクリプトを変更して次のパラメーターを組み込みます。
    -Xmxsize
  • 管理コンソールからノードを追加する場合は、 デプロイメント・マネージャーの Java 仮想マシン設定で maximumHeapSize を増やしてから、 デプロイメント・マネージャーを再始動します。

    詳しくは、addNode コマンド および Java 仮想マシンの設定を参照してください。

[Windows]例えば、次に示す addNode.bat ファイルでは、 Windows プラットフォーム上で最大ヒープ・サイズの 512 MB を設定します。
"%JAVA_HOME%¥bin¥java" -Xmx512m %DEBUG% %WAS_TRACE% %CONSOLE_ENCODING% 
"%CLIENTSOAP%" "%CLIENTSAS%" "-classpath" "%WAS_CLASSPATH%" 
"-Dws.ext.dirs=%WAS_EXT_DIRS%" %USER_INSTALL_PROP% 
-Dwas.install.root=%WAS_HOME%" "com.ibm.ws.bootstrap.WSLauncher" 
"com.ibm.ws.management.tools.NodeFederationUtility" "%CONFIG_ROOT%" "%WAS_CELL%"
"%WAS_NODE%" %*

デプロイメント・マネージャーの OutOfMemory 例外

大容量の EAR ファイルのアプリケーションをインストールする際に、OutOfMemory 例外を受け取った場合、デプロイメント・マネージャーの最大ヒープ・サイズを大きくしてみてください。

管理コンソールの Java 仮想マシン・ページで指定したオプションを確認します。 デプロイメント・マネージャーの JAVA 仮想マシンの設定で maximumHeapSize の値を大きくします。 次に、デプロイメント・マネージャーを再始動して、再びアプリケーションのインストールを試みます。

アプリケーションを別のマシンに インストールすると、稼働しない

アプリケーションが アプリケーション・レベルのリソースを使用する場合は、そのアプリケーション・レベルのノード情報が 正しくなければ、アプリケーションは期待どおりに動きません。

アプリケーション・レベルの リソースをアプリケーションに追加し、そのアプリケーションをマシンにデプロイする場合は、 アプリケーション・レベルのノード情報が正しいことを確認してください。 正しくない場合は、アプリケーションを別のマシンにインストールすると、 間違ったロケーションにインストールされるため、アプリケーションが期待どおりに稼働しません。

アプリケーション・レベルのノード情報は、アセンブリー・ツールを使用して 更新できます。ibmconfig の下にある deployment.xml ファイルの deploymentTargets から、 nodeName を更新します。さらに、deployment.xml ファイルの deployedObject から、 binariesURL のパスが正しいことも確認してください。

アプリケーションの更新時に、 すべてのアプリケーション・ファイルが 1 つのファイルで置き換えられてしまう

アプリケーションの更新ウィザードの「1 つのファイルを置換または追加する」オプションが選択されていて、現在デプロイ済みのアプリケーションが複数のファイルで構成されている場合は、「置換または追加されるファイルへの、インストール済みアプリケーション・アーカイブ・ファイルで始まるパスを指定します」で、置換または追加するファイルの絶対パス名を指定します。

絶対パス名の構造は、通常は directory_path/file_name であるため、 絶対パス名は次のようになります。

PriceChangeSession.jar/priceChangeSession/priceChangeSessionBean.class

置換または追加されるファイルへの、インストール済みアプリケーション・アーカイブ・ファイルで 始まるパスを指定します」では、絶対パス名より短いパス名は 指定しないでください。例えば、次のようなディレクトリー・パスのみを指定することはできません。

PriceChangeSession.jar/priceChangeSession

絶対パス名より短いパス名を指定すると、現在デプロイ済みのアプリケーションの ディレクトリー内のすべてのファイルが、「ファイルへのパスを指定してください」で 指定した単一の新規ファイルで置き換えられる場合があります。


トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rtrb_installappprob
ファイル名:rtrb_installappprob.html