アプリケーションが始動しない、または始動してもエラーになる場合、さまざまな原因が考えられます。
アプリケーションの始動時に発生するエラーの種類を特定してください。
上記のどのエラーにも該当しない場合は、以下のようにします。
- このアプリケーションのアプリケーション・サーバーのログ・ファイルをブラウズして、手掛かりを探します。
デフォルトでは、
該当するファイルは app_server_root/logs/server_name/SystemErr.log および SystemOut.log です。
- 「参照」ビューをクリックし、「メッセージ」を展開して、
メッセージ参照テーブル内のすべてのエラーまたは警告メッセージを調べます。
類似した問題が見つからない場合、または提供されている情報では問題が解決されない場合は
、IBM からのトラブルシューティングのヘルプ
を参照してください。
java.lang.ClassNotFoundException: classnameBean_AdderServiceHome_04f0e027Bean
この種の例外は、Enterprise Bean またはデプロイしていない Enterprise Bean モジュールを含んでいる、
デプロイしていないアプリケーションを始動しようとした場合に発生します。
この問題を解決するには、以下の手順を実行してください。
- アセンブリー・ツールおよび管理コンソールを使用してデプロイメント・コードを作成し、サーバーにアプリケーションまたは Enterprise JavaBeans モジュールをインストールします。
- 管理コンソールの アプリケーションまたは Enterprise JavaBeans モジュールをアンインストールします。
- アセンブリー・ツールの構成を行って、ターゲット・サーバーが WebSphere Application Server v6 といった WebSphere Application Server のインストール・システムであるようにします。
ターゲット・サーバーへのアクセス権を持っていない場合は、
c:¥temp といった仮のロケーションを指定できます。
仮のロケーションを指定することによってアセンブルを使用可能にし、Enterprise Bean のデプロイメント・コードを作成できるようになります。
アセンブリー・ツールの構成
を参照してください。
- アセンブリー・ツールの Project Explorer ビューで、Enterprise JavaBeans モジュールを含むデプロイされていない .ear ファイル
またはデプロイされていないスタンドアロン Enterprise JavaBeans JAR ファイルの
エンタープライズ Bean (Enterprise JavaBeans) を右クリックしてから、「デプロイ」をクリックします。
アセンブリー・ツールが WebSphere Application Server のターゲット・サーバーにアクセスできる場合は、Enterprise JavaBeans 用のデプロイメント・コードが作成され、アセンブリー・ツールはターゲット・サーバーにアプリケーション・モジュールをインストールしようとします。
アセンブリー・ツールが WebSphere Application Server のターゲット・サーバーにアクセスできない場合またはインストールができない場合は、次のステップで作成されるデプロイメント・コードを使用します。
アセンブリー・ツールの使用方法については、アプリケーションのアセンブル
を参照してください。
- アセンブリー・ツールによって作成されたデプロイ済みのバージョンを、wsadmin $AdminApp install コマンドまたは管理コンソールを使用してインストールします。
- wsadmin $AdminApp install コマンドを使用している場合は、そのコマンドをアンインストールしてから、-EJBDeploy オプションを使用して再インストールします。
install コマンドに
$AdminConfig 保管コマンドが続くようにします。
ConnectionFac E J2CA0102E: Invalid EJB component: Cannot use an EJB module with version 1.1 using The Relational Resource Adapter
このエラーは、Enterprise JavaBeans 1.1 仕様に対して開発された Enterprise Bean が、WebSphere Application Server V5 J2C 準拠のデータ・ソース (デフォルトのデータ・ソース) と共にデプロイされている場合に発生します。
デフォルトでは、アプリケーション・アセンブリー・ツールを使用して、
WebSphere Application Server V4.0 で作成した永続エンタープライズ Bean により、
Enterprise JavaBeans 1.1 仕様が実現されます。 WebSphere Application Server V6 上で実行するためには、これらの Enterprise Beans を
、WebSphere Application Server V4.0 型のデータ・ソースに関連付ける必要があります。
Enterprise Beans についてのアプリケーションのマッピングを変更して
、1.x コンテナー管理パーシスタンス (CMP) Bean を V4.0 データ・ソースと関連付けるか、
または既存のデータ・ソースを削除し、同じ名前の V4.0 データ・ソースを作成します。
Enterprise Beans についてのアプリケーションのマッピングを変更するには
、WebSphere Application Server 管理コンソールで、問題のアプリケーションのプロパティーを選択し、
「リソース参照をリソースにマップ」、または「Map data sources for all 1.x CMP beans」を使用して
、Enterprise Bean が使用するデータ・ソースを切り替えます。
構成を保管して、アプリケーションを再始動します。
既存のデータ・ソースを削除して、同じ名前の V4.0 データ・ソースを作成するには、以下のようにします。
- 管理コンソールで、「リソース」 > 「JDBC
プロバイダーの管理」 > 「JDBC_provider_name」 > 「データ・ソース」とクリックします。
- Enterprise JavaBeans 1.1 モジュールと関連付けられているデータ・ソースを削除します。
- 「リソース」 > 「JDBC プロバイダーの管理」 > 「JDBC_provider_name」 >
「データ・ソース (バージョン 4)」とクリックします。
- Enterprise JavaBeans 1.1 モジュールのデータ・ソースを作成します。
- 構成を保管して、アプリケーションを再始動します。
アプリケーションの始動時の NMSV0605E:「コンテキストからルックアップされた参照オブジェクト」というエラー
エラーの全文が以下のような場合:
[7/17/02 15:20:52:093 CDT] 5ae5a5e2 UrlContextHel W NMSV0605E: コンテキスト "java:" から名前 "comp/PM/WebSphereCMPConnectionFactory" でルックアップされた参照オブジェクトが JNDI Naming Manager に送られましたが、例外が発生しました。
参照データは次のとおりです。
参照ファクトリー・クラス名: com.ibm.ws.naming.util.IndirectJndiLookupObjectFactory
参照ファクトリー・クラスの場所の URL:
参照クラス名: java.lang.Object
タイプ: JndiLookupInfo
コンテンツ: JndiLookupInfo: ; jndiName="eis/jdbc/MyDatasource_CMP"; providerURL=""; initialContextFactory=""
この場合は、問題は、CMP Enterprise Bean のサポートを意図したデータ・ソースが、Enterprise Bean に正しく関連付けされていないことである可能性があります。
この問題を解決するには、以下を行います。
- 管理コンソールの、データ・ソースの「一般プロパティー」パネルにある
「Use this Data Source in container managed persistence (CMP)」チェック・ボックスを選択します。
- 以下のいずれかの方法で、JNDI 名を確認してください。
- 管理コンソールの「リソース」
> 「JDBC プロバイダーの管理」 > 「データ・ソース」 > 「JNDI 名」で指定したデータ・ソースの
JNDI 名が、アセンブリー・ツールでアプリケーションのアセンブルを行ったときに
CMP または BMP のリソース・バインディングに対して指定された JNDI
名と一致していることを確認します。
- J2EE アプリケーション開発者がコードで指定する、CMP または BMP リソース・バインディング
の JNDI 名を確認します。アセンブリー・ツールで、デプロイ済みの .ear フォルダーを開き、
CMP または BMP リソース・バインディングで、エンティティー Bean の JNDI 名を探します。
名前が一致することを確認してください。
更新したアプリケーションの再始動時に、ページが検出されないか、配列指標が範囲外であるか、
またはその他のエラーが発生する
アプリケーションが実行中に更新されると、WebSphere Application Server はアプリケーションまたは変更済みコンポーネントのみを
自動的に停止し、アプリケーション・ロジックを更新して、
停止したアプリケーションまたはそのコンポーネントを再始動します。
更新済みアプリケーションの再始動について詳しくは、IBM WebSphere Developer Technical Journal の System management for WebSphere Application
Server V6 -- パート 5 Flexible options for updating deployed applications にある
Fine-grained recycle behavior を参照してください。
再始動時に、ページが検出されないか、配列指標が範囲外であるか、またはその他のエラーが
発生する可能性があります。
このようなエラーの発生を最小限にするには、実稼働環境でアプリケーションを更新する前に、テスト環境でアプリケーションを更新します。
実稼働環境へ直接、変更を加えないでください。