テストおよび公開 (サーバー) ツールのリリース情報

© Copyright International Business Machines Corporation 2006. All rights reserved.

リリース情報

1.0 制限
   1.1 複数の EAR プロジェクト内で共用される EJB モジュールの除去
2.0 既知の問題と回避方法
   2.1 ホット・メソッド置換がデバッグ・モードでの再開後に適用されない
   2.2 ユーティリティー JAR ファイルを Web ライブラリーに追加すると java.lang.NoClassDefFoundError エラーが起きる
   2.3 リモート・サーバーが停止されたときに、「新規サーバー」ウィザードの完了に長い時間がかかる場合がある
   2.4 保護された WebSphere Application Server v6.1 のサーバー接続タイプの切り替え

1.0 制限

1.1 複数の EAR プロジェクト内で共用される EJB モジュールの除去

エンタープライズ JavaBean (EJB) モジュールが単一の WebSphere Application Server 上で実行されている複数の EAR プロジェクトによって共用されているときに、そのうちの 1 つの EAR プロジェクトをサーバーから除去する場合、他の EAR プロジェクトが EJB プロジェクト内の EJB Bean などのリソースにアクセスするには、その前にそれらの EAR プロジェクトを再始動する必要があります。     

このアクションをとらないと、以下に示されているようなエラー・メッセージが表示されることがあります。   このようなエラーが発生するのは、EAR の除去時に EJB プロジェクト内の Java Naming and Directory Interface (JNDI) 名がサーバーから除去されることが原因です。

 

以下は、エラー・メッセージの例です。

00000028 SystemOut     O javax.naming.NameNotFoundException: コンテキスト: myCell/nodes/myNode/servers/server1、名前: ejb/ejbs/Session20Home: 名前 Session20Home 内の最初のコンポーネントが見つかりません。 [ルート例外は、org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0 です。]
   場所は次のとおりです。
   com.ibm.ws.naming.jndicos.CNContextImpl.processNotFoundException(CNContextImpl.java:4730)
   com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1907)
   com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1862)
   com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNContextImpl.java:1552)
   com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1354)
   com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:172)
   javax.naming.InitialContext.lookup(InitialContext.java:363)
   com.ibm.ivj.ejb.runtime.AbstractAccessBean.lookupAndCacheHome(AbstractAccessBean.java:224)
   com.ibm.ivj.ejb.runtime.AbstractAccessBean.getGlobalHome(AbstractAccessBean.java:216)
   com.ibm.ivj.ejb.runtime.AbstractAccessBean.getHome(AbstractAccessBean.java:249)
   ejbs.Session20AccessBean.ejbHome(Session20AccessBean.java:50)
   ejbs.Session20AccessBean.instantiateEJB(Session20AccessBean.java:80)
   ejbs.Session20AccessBean.foo(Session20AccessBean.java:91)
 

2.0 既知の問題と回避方法

2.1 ホット・メソッド置換がデバッグ・モードでの再開後に適用されない

以下の構成を持つプロジェクト (例えば、アプリケーション・クライアント・プロジェクト) があるとします。

「デバッグ」ビューの「再開」ボタンが正常に機能しない可能性があります。  例えば、サーバー上でアプリケーションをデバッグ・モードで実行した際、実行時にソースの変更を試行してから、「再開」ボタンを使用してアプリケーションのデバッグを続行した場合などです。 ホット・メソッド置換によるソース・コードへの変更が適用されていない可能性があります。
実行時の変更を有効にするには、「再開」ボタンを 2 回クリックしてみてください。 
注:  この問題は、Java のプロジェクト・ファセットをバージョン 5.0 に設定した場合には発生しません。

2.2 ユーティリティー JAR ファイルを Web ライブラリーに追加すると java.lang.NoClassDefFoundError エラーが起きる

Web プロジェクトの Web ライブラリーにユーティリティー JAR ファイルを追加し、コードでその JAR ファイル内のクラスを参照する場合、サーバー上でアプリケーションの実行を試行すると  java.lang.NoClassDefFoundError エラーが発生する場合があります。
この問題を回避するには、以下の手順に従って、ユーティリティー JAR ファイルを EAR モジュールに追加してから、その JAR ファイルを Web プロジェクトの J2EE モジュール依存関係に追加します。

  1. ユーティリティー JAR ファイルを EAR モジュールに追加します。詳しくは、製品のヘルプの『プロジェクト・ユーティリティー JAR ファイルの追加』トピックを参照してください。
  2. Web プロジェクトを右クリックして、「プロパティー」を選択します。  「プロパティー」ダイアログ・ボックスが開きます。
  3. J2EE モジュール依存関係 (J2EE Modules Dependencies)」を選択します。   
  4. JAR/モジュール」列の下の「J2EE モジュール」タブで、ユーティリティー JAR ファイルの横のチェック・ボックスを選択します。

2.3 リモート・サーバーが停止されたときに、「新規サーバー」ウィザードの完了に長い時間がかかる場合がある

リモート・サーバーを停止した場合、「終了」ボタンをクリックしたときに、「新規サーバー」ウィザードが完了するまでに要する時間が長くなることがあります。回避方法は、「新規サーバー」ウィザードの「終了」ボタンをクリックする前に、リモート・サーバーを始動することです。

2.4 保護された WebSphere Application Server v6.1 のサーバー接続タイプの切り替え

保護された WebSphere Application Server v6.1 が始動済みの場合に、サーバー・エディターでサーバーの接続タイプをリモート・メソッド呼び出し (RMI) または SOAP に変更すると、そのサーバー・エディターで変更内容を保管した後で、以下の公開の失敗エラー・メッセージが表示される可能性があります。
サーバーが始動していないため、公開が実行されません。サーバーを開始してから、公開操作を行ってください。 
このエラーは、無視しても構いません。  オプションで、「サーバー」ビューのサーバーの状況が「始動済み」になったら、公開コマンドを完了することができます (「サーバー」ビューで、サーバーを右クリックし、「公開」を選択します。)