システム・リソース問題からの MDB アプリケーションの保護

従属外部システム・リソースに問題があった場合に、メッセージが例外宛先に不必要に移動される前にエンタープライズ・アプリケーションが停止されるように、システムを構成することができます。 この構成によって、エンタープライズ・アプリケーションを妨害することなく、メッセージの偶発的な問題が処理されるようにもなります。

始める前に

このタスクは、外部システム・リソースと対話するメッセージ駆動型 Bean (MDB) を含んでいるエンタープライズ・アプリケーションがデプロイ済みであることを前提としています。

MDB が listen している宛先は、例外宛先を使用する必要があります。 この例外宛先は、システム・デフォルトにするか、または特にその宛先のために構成した宛先とすることができます。

このタスクを実行するには、以下の情報が必要です。
  • MDB を含んでいるエンタープライズ・アプリケーション。
  • 従属外部システム・リソース。
  • 連続障害メッセージのしきい値に対する許容値。これはメッセージ配信の連続障害の最大数で、その数を超えると MDB が停止します。 このプロパティーは、メッセージの集合に 適用されます。
  • 障害のあるメッセージの再試行間の遅延に対する許容値。これは、障害のあるメッセージが MDB に送達可能になるまでの時間 (ミリ秒) です。 連続障害メッセージのしきい値および最大並行性が 1 に設定されている場合を除き、他のメッセージはこの期間内に送達される可能性があります。
  • 1 メッセージ当たりの最大デリバリー失敗数に対する許容値。これはメッセージ処理試行の失敗の最大数で、その数を超えるとメッセージが本来の宛先から例外宛先に転送されます。 このプロパティーは、個々のメッセージに 適用されます。

このタスクについて

MDB のメッセージ処理で障害が発生すると、そのメッセージはロールバックされ、もう一度その MDB で使用できます。 通常、メッセージング・システム は以下のいずれかのように構成されます。
  1. 障害が起こったメッセージは有限の回数だけ再試行され、障害が続く場合は、後続メッセージを処理できるように例外宛先に移動される。
  2. 障害が起こったメッセージは、問題が修正されるまで無期限に再試行される。

構成 (1) は、後続メッセージの処理を妨げる偶発的な問題メッセージから MDB を保護します。 ただし、エンタープライズ・アプリケーション、またはビジネス・レベル・アプリケーションが依存しているリソース (例えば、データベース) に長期にわたる問題がある場合、宛先に送信されるメッセージがすべて例外宛先に移動されてしまう可能性があります。

構成 (2) は、 元の障害のあるメッセージの問題が解決されるまで、メッセージの 送達をブロックします。この構成は、メッセージが例外宛先に不必要に移動されるのを防ぎますが、1 つの問題メッセージの処理が失敗したら直ちに 後続のメッセージをブロックすることにもなります。

MDB のアクティベーション・スペックを構成して、連続するメッセージを伴う多数の障害が検出されたときに MDB エンドポイントが自動的に停止されるようにすることができます。 これらの障害は、従属リソースにある何らかの問題を表します。 問題が解決されたら、その MDB エンドポイントは手動で再始動します。 この構成は、偶発的なメッセージ障害を容認し、MDB 全体をブロックすることなく個々の問題メッセージが例外宛先に移動されることを可能にします。

従属外部システム・リソース障害からエンタープライズ・アプリケーションを保護するには、次のステップを使用します。

手順

  1. MDB が含まれているデプロイ済みエンタープライズ・アプリケーションまでナビゲートします。
  2. MDB からその JMS アクティベーション・スペックまでナビゲートします。 リソース (Resources) ->「JMS」 ->「アクティベーション・スペック」 ->「activation_specification_nameをクリックします。
  3. 連続障害メッセージのしきい値」および「障害のあるメッセージの再試行間の遅延」の値を入力します。
  4. 構成を保存します。
  5. MDB が listen している宛先までナビゲートします。 以下のいずれかのパスを適宜クリックします。
    • サービス統合 ->「バス」 -> 「bus_name -> [宛先リソース (Destination resources)]「宛先 (Destinations)」 -> 「queue_name
    • サービス統合 ->「バス」 -> 「bus_name -> [宛先リソース (Destination resources)]「宛先 (Destinations)」 ->「topic_space_name
  6. 1 メッセージ当たりの最大デリバリー失敗数の値を入力します。
  7. 変更をマスター構成に保存します。

タスクの結果

エンタープライズ・アプリケーション、またはビジネス・レベル・アプリケーションは、いつでも起こり得る種類の外部リソース問題からエンタープライズ・アプリケーション自体を保護するように構成されます。これは、システム・リソース問題が発生した場合に、任意のメッセージについて、連続障害メッセージのしきい値 に達したら、MDB が自動的に停止することを意味します。

次のタスク

障害があったシステム・リソースが使用可能になったら、そのシステム・リソースを再始動し、MDB を再開することができます。 システム・リソースが ダウンしている間に障害があったメッセージは、例外宛先に残されるのではなく、 再試行されます。

トピックのタイプを示すアイコン タスク・トピック



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