汎用 JMS バインディングで発生した問題は、診断して修正することができます。
汎用 JMS のインポート実装とエクスポート実装は、さまざまなエラー状態に応じて、以下の 2 種類の例外のいずれかを戻すことがあります。
JMS プロバイダーによる要求メッセージには、有効期限があります。
要求の有効期限 とは、要求メッセージの JMSExpiration 時刻に達したときの、JMS プロバイダーによる要求メッセージの有効期限を指します。 その他の JMS バインディングの場合と同様に汎用 JMS バインディングも、インポートによって格納されたコールバック・メッセージの有効期限を発信要求と同じ有効期限に設定することにより、要求の有効期限を処理しています。コールバック・メッセージの有効期限の通知では、要求メッセージの有効期限が切れたことが示され、クライアントにはビジネス例外により通知する必要があります。
ただし、コールバックの宛先をサード・パーティーのプロバイダーに移動すると、このタイプの要求有効期限はサポートされません。
応答の有効期限 とは、応答メッセージの JMSExpiration 時刻に達したときの、JMS プロバイダーによる応答メッセージの有効期限を指します。
サード・パーティーの JMS プロバイダーの正確な期限満了動作は定義されていないため、汎用 JMS バインディングの応答の有効期限はサポートされていません。 ただし、応答を受信した場合は、その応答が有効期限に達していないことを確認できます。
アウトバウンド要求メッセージの場合、JMSExpiration の値は、待機時間と、asyncHeader (設定されている場合) 内の requestExpiration の値を基に計算されます。
汎用 JMS プロバイダーで特定のタイプの接続ファクトリーを定義すると、アプリケーションの開始時にエラー・メッセージを受信することがあります。この問題を回避するには、外部接続ファクトリーを変更します。
MDB リスナー・ポート JMSConnectionFactory タイプが JMSDestination タイプと 一致しません (MDB Listener Port JMSConnectionFactory type does not match JMSDestination type)
この問題は、外部接続ファクトリーの定義時に発生します。特に、JMS 1.1 (統合) 接続ファクトリー (Point-to-Point 通信およびパブリッシュ/サブスクライブ通信の両方をサポート可能な接続ファクトリー) ではなく JMS 1.0.2 トピック接続ファクトリーを作成すると、例外が throw されることがあります。
新規に定義した JMS 1.1 接続ファクトリーを使用してアプリケーションを起動すると、エラー・メッセージは表示されないはずです。
JMS の対話の失敗によって SCA メッセージが発生した場合は、JMS プロバイダーの管理機能を使用して イベントを管理します。