システム・リソース問題からの MDB アプリケーションの保護
従属外部システム・リソースに問題があった場合に、メッセージが例外宛先に不必要に移動される前にエンタープライズ・アプリケーションが停止されるように、システムを構成することができます。 この構成によって、エンタープライズ・アプリケーションを妨害することなく、メッセージの偶発的な問題が処理されるようにもなります。
始める前に
MDB が listen している宛先は、例外宛先を使用する必要があります。 この例外宛先は、システム・デフォルトにするか、または特にその宛先のために構成した宛先とすることができます。
- MDB を含んでいるエンタープライズ・アプリケーション。
- 従属外部システム・リソース。
- 「 連続障害メッセージのしきい値」に対する許容値。これはメッセージ配信の連続障害の最大数で、その数を超えると MDB が停止します。 このプロパティーは、メッセージの集合に 適用されます。
- 「障害のあるメッセージの再試行間の遅延」に対する許容値。これは、障害のあるメッセージが MDB に送達可能になるまでの時間 (ミリ秒) です。 「連続障害メッセージのしきい値」および最大並行性が 1 に設定されている場合を除き、他のメッセージはこの期間内に送達される可能性があります。
- 「1 メッセージ当たりの最大デリバリー失敗数」に対する許容値。これはメッセージ処理試行の失敗の最大数で、その数を超えるとメッセージが本来の宛先から例外宛先に転送されます。 このプロパティーは、個々のメッセージに 適用されます。
このタスクについて
- 障害が起こったメッセージは有限の回数だけ再試行され、障害が続く場合は、後続メッセージを処理できるように例外宛先に移動される。
- 障害が起こったメッセージは、問題が修正されるまで無期限に再試行される。
構成 (1) は、後続メッセージの処理を妨げる偶発的な問題メッセージから MDB を保護します。 ただし、エンタープライズ・アプリケーション、またはビジネス・レベル・アプリケーションが依存しているリソース (例えば、データベース) に長期にわたる問題がある場合、宛先に送信されるメッセージがすべて例外宛先に移動されてしまう可能性があります。
構成 (2) は、 元の障害のあるメッセージの問題が解決されるまで、メッセージの 送達をブロックします。この構成は、メッセージが例外宛先に不必要に移動されるのを防ぎますが、1 つの問題メッセージの処理が失敗したら直ちに 後続のメッセージをブロックすることにもなります。
MDB のアクティベーション・スペックを構成して、連続するメッセージを伴う多数の障害が検出されたときに MDB エンドポイントが自動的に停止されるようにすることができます。 これらの障害は、従属リソースにある何らかの問題を表します。 問題が解決されたら、その MDB エンドポイントは手動で再始動します。 この構成は、偶発的なメッセージ障害を容認し、MDB 全体をブロックすることなく個々の問題メッセージが例外宛先に移動されることを可能にします。
従属外部システム・リソース障害からエンタープライズ・アプリケーションを保護するには、次のステップを使用します。