J2CA0294W、J2CA0056I、WLTC0017E、HWSP1445E、および HWSSL00E エラー・ メッセージ

J2CA0294W

分散コンピューティング環境では、 多くの場合、共用コンポーネントおよびリソースを取得するために、命名サービスおよびディレクトリー・サービスが使用されます。命名サービスおよびディレクトリー・サービスは、名前を、ロケーション、 サービス、情報、およびリソースに関連付けます。

命名サービスは、 名前からオブジェクトへのマッピングを提供します。ディレクトリー・サービスは、 これらのオブジェクトを見つけるために必要なオブジェクトおよび検索ツールに関する情報を提供します。命名サービスおよびディレクトリー・サービスには数多くの インプリメンテーションがあり、そのインターフェースはさまざまです。

Java Naming and Directory Interface (JNDI) は、さまざまな 命名サービスおよびディレクトリー・サービスにアクセスするために必要な共通のインターフェースを提供します。この値を設定および保管して、サーバーを 再始動したら、名前空間ダンプ・ツールの起動時に、このストリングが 表示されるはずです。

具体的には、WebSphere Application Server では、 データ・ソースを作成すると、デフォルトの JNDI 名が jdbc/data_source_name に 設定されます。接続ファクトリーを作成する場合、デフォルト名は eis/j2c_connection_factory_name です。もちろん、独自の値を指定して、これらの値をオーバーライドできます。

また、データ・ソースの作成時に「コンテナー管理パーシスタンスにこのデータ・ソースを使用 (Use this data source for container managed persistence)」(CMP) オプションの チェック・ボックスをクリックすると、別の参照が、eis/jndi_name_of_datasource_CMP の 名前で作成されます。例えば、データ・ソースの JNDI 名が jdbc/myDatasource の場合は、CMP JNDI 名は eis/jdbc/myDatasource_CMP になります。この名前は CMP によって内部的に使用され、単に通知目的で提供されます。

接続ファクトリー またはデータ・ソースの作成時には、コンポーネントが接続ファクトリーまたはデータ・ソースを検索するときに使用する JNDI 名が指定されます。できれば、将来のリリースでは、接頭部 java:comp/env が付いた 「間接的な」名前を使用する必要があります。「間接的な」名前を使用すると、 アプリケーションと関連付けられているすべての resource-reference データが 接続管理ランタイムで使用可能になり、res-auth、res-isolation-level、res-sharing-scope、 および res-resolution-control 設定に基づいて、リソースをよりよく管理できます。

直接的な JNDI 名を使用することはできますが、この命名方法はバージョン 6 の WebSphere Application Server では使用すべきではありません。 WebSphere Application Server は、この方法を使用して、resource-reference データに デフォルト値を割り当てます。次のような通知メッセージが、デフォルトで文書にログに記録されます。
J2CA0294W: Deprecated usage of direct JNDI lookup of resource jdbc/IOPEntity.
The following default values are used: [Resource-ref settings]	
	res-auth:                 1 (APPLICATION)
	res-isolation-level:      0 (TRANSACTION_NONE)
	res-sharing-scope:        true (SHAREABLE)
	loginConfigurationName:   null
	loginConfigProperties:    null
[Other attributes]
	res-resolution-control:   999 (undefined)
isCMP1_x:                 false (not CMP1.x)
isJMS:                 false (not JMS)

これらのデフォルト値を使用すると、リソースで予期しない動作が発生します。例えば、コンテナー管理下認証データでリソースにアクセスするアプリケーション・ コンポーネント (JAAS ログイン・モジュールなど) が、バックエンド・リソースでの 認証に失敗する可能性があります。 res-auth 設定が、コンテナーではなくデフォルト・レベルのアプリケーションに 割り当てられているため、アプリケーション・サーバーがこの設定を検索できません。

このメッセージは、Java Naming Directory Interface (JNDI) を使用してリソースを検索するときに、リソースの完全修飾名を使用して再試行すると表示されます。J2EE プログラミング・モデルでは、リソース参照およびローカル JNDI java:comp/env context を使用することをお勧めします。この問題を修正するには、リソース参照およびローカル JNDI java:comp/env context で推奨の J2EE プログラミング・モデルを使用するように、 アプリケーションを変更します。

res-sharing-scope に SHAREABLE の デフォルト値を使用すると、MVS コンポーネントの Resource Recovery Service (RRS) が実行されている必要があるトランザクションのモードで、代わりに リソースを実行できます。これに当てはまらない場合は、アプリケーションは次の例外を受け取ります。
ICO0073E: com.ibm.connector2.ims.ico.IMSTCPIPManagedConnection@7b588e4.processOutputOTMAMsg(byte [], InteractionSpec, Record) error.
RRS is not available.

J2CA0056I

IMS リソース・アダプターが例外をスローした場合、その例外は、Java™ アプリケーション以外のコンポーネントでキャッチすることができます。例えば、デプロイ済みのアプリケーションを実行しているときには、IMS Connector for Java の例外が WebSphere® Application Server によってキャッチされることがよくあります。その場合、WebSphere Application Server は独自のメッセージを発行し、そのメッセージに IMS リソース・アダプターの 例外からのメッセージを組み込みます。例えば、実行タイムアウトが発生すると、コンソールに次のメッセージが表示されます。
  • J2CA0056I: The Connection Manager received a fatal connection error
    from the
    Resource Adapter for resource myConnFactry.  The exception which
    was received is
    ICO0080E:
    com.ibm.connector2.ims.ico.IMSTCPIPManagedConnection@e59583c.processOutputOTMAMsg(byte[],
    IMSInteractionSpec, int) error. Execution timeout has occurred for
    this interaction.
    The executionTimeout was [0] milliseconds.  The IMS Connect TIMEOUT
    was used.

J2CA0056I は、WebSphere Application Server から出される通知メッセージです。このメッセージ内の重大な接続エラー (fatal connection error) とは、 実行タイムアウトになった場合に IMS Connect がソケットを閉じることを 指しています。このような場合、WebSphere Application Server の Connection Manager が、ソケット用の接続オブジェクトを接続プールから除去します。

もう 1 つの例は、トランザクション (非永続的 ) ソケットをコミット・モード 0 対話に使用している場合に発生します。この場合は、コンソールに次のメッセージが表示されます。
  • J2CA0056I: The Connection Manager received a fatal connection error
    from the
    Resource Adapter for resource myConnFactry.  The exception which
    was received is
    ICO0089I:
    com.ibm.connector2.ims.ico.IMSTCPIPManagedConnection@6db5d83a.call(Connection,
    InteractionSpec, Record, Record). Non-persistent socket closed for
    Commit Mode 0 IMS transaction.

J2CA0056I は、WebSphere Application Server から出される通知メッセージです。このメッセージ内の重大な接続エラー (fatal connection error) とは、IMS Connect がトランザクション・ソケットを閉じ、IMS リソース・アダプターからの 指示で、WebSphere Application Server の Connection Manager がソケット用の接続オブジェクトを接続プールから除去するようなエラーを指しています。

WLTC0017E

ローカル・トランザクション内包 (LTC) を使用して、未指定のトランザクション・コンテキストにおけるアプリケーション・サーバーの動作を定義します。例えば、NotSupported というトランザクション属性が設定されたコンテナー管理 EJB 内の単一のメソッドが、トランザクション・スコープの外で呼び出された場合、WebSphere は、 そのメソッドの実行中に使用されるリソースを処理するためにローカル・ トランザクションを作成します。上記のメッセージは、LTC で setRollbackOnly() が呼び出されたため、LTC に 登録されているリソースがコミットされずにロールバックされたことを示すために WebSphere Transaction Monitor によって 作成されたものです。このメッセージは通知のみを目的としており、ユーザーはこのメッセージに対して処置を行う必要はありません。
  • WLTC0017E: Resources rolled back due to setRollbackOnly() being
    called.

注: WebSphere Application Server メッセージの接頭部は、そのメッセージを発行したコンポーネントを示しています。これらのメッセージの資料は、コンポーネントごとに、Integration Edition の ヘルプで見ることができます。「WebSphere Application Server Enterprise」>「クイック・リファレンス (Quick reference)」>「メッセージ (Messages)」を参照してください。すべてのメッセージについて、ユーザー/システム処置および説明が文書化されています。これらのメッセージは、WebSphere Application Server バージョン 5 Information Center でも文書化されています。

HWSP1445E

Integration Edition の 「新規 IMS Service (New IMS Service)」ウィザードに接続プロパティーを 指定する場合、または Java アプリケーションで使用するための 接続ファクトリーを構成する場合は、SSLEnabled プロパティーで、SSL を 使用するかしないかを選択してください。 SSL を使用する場合 (SSLEnabled=TRUE)、指定したポート番号が IMS Connect で SSL ポートとして構成されている必要があります。 Java アプリケーションに誤って 非 SSL ポートを指定すると、 アプリケーションの実行時に予期しない結果が発生します。
  • IMS Connector for Java は、以下の通信エラーを示す例外をスローします。
    javax.resource.spi.CommException:
    ICO0003E:
    com.ibm.connector2.ims.ico.IMSTCPIPManagedConnection@56503fc6.connect()
    error.Failed to connect to host [CSDMEC13], port [9999].
    [java.net.SocketException:
    Connection reset by peer: socket closed]
  • 次の IMS Connect メッセージが MVS™ コンソールに 表示されます。
    HWSP1445E UNKNOWN EXIT NAME SPECIFIED IN MESSAGE PREFIX; MSGID=    
       /9  * !hR, M=SDRC

SSL 接続を確立するための最初のステップでは、SSL ハンドシェーク・ プロトコルを扱います。このプロトコルでは、クライアント (IMS Connector for Java) が サーバー (IMS Connect) に「Hello」という SSL メッセージを送ります。上記のシナリオでは、IMS Connect は非 SSL ポートで着信メッセージを待っています。 IMS Connect は、ハンドシェーク・メッセージを受信すると、そのメッセージを、接頭部として有効な出口名が付けられた OTMA メッセージと解釈し、メッセージ HWSP1445E を発行します。

HWSSSL00E

上記と反対のシナリオとして、SSL を 使用しない場合 (SSLEnabled=FALSE) に、Java アプリケーションに提供したポート番号が SSL ポートとして IMS Connect に構成されている場合が考えられます。この場合は、次のようになります。
  • IMS Connector for Java は、以下の通信エラーを示す例外をスローします。
    javax.resource.spi.CommException: ICO0005E:
    com.ibm.connector2.ims.ico.IMSTCPIPManagedConnection@5bcdcdd4.receive()
    error. A communication error occurred while sending or receiving
    the IMS message.
    [java.net.SocketException: Connection reset by peer: socket closed]
  • 次の IMS Connect メッセージが MVS コンソールに 表示されます。
    HWSSSL00E Unable to initialize the SSL socket:Error while reading
    or writing data

IMS Connect は、SSL ハンドシェーク・プロトコルの一環として初期段階で出されるクライアント・メッセージ「Hello」を受信していないため、SSL ソケットを 初期化しようとしても失敗します。

関連タスク
IMS リソース・アダプターを使用したロギングおよびトレース
関連資料
IMS リソース・アダプターを使用した場合の問題の診断
IMS リソース・アダプター・メッセージおよび例外
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
(C) Copyright IBM Japan 2005.