7.7.1 メッセージ配信時に発生するトラブルの種類と信頼性を確保する方法
メッセージは,次の2段階で配信されます。
-
プロデューサーからCJMSPブローカーが管理する送信先への配信
-
CJMSPブローカーが管理する送信先からコンシューマーへの配信
この間,次のタイミングでトラブルが発生した場合に,メッセージが失われるおそれがあります。
-
メッセージ転送時
-
プロデューサーからCJMSPブローカーが管理する送信先へのメッセージ転送時
-
CJMSPブローカーが管理する送信先からコンシューマーへのメッセージ転送時
-
-
CJMSPブローカーの障害発生時
これらの場合に信頼性を確保する方法について,次に示します。
-
メッセージ転送時にトラブルが発生した場合
メッセージ転送時のメッセージの信頼性を確保する方法としては,JMS仕様で規定されている,メッセージ配信の確認応答(Acknowledge Mode)の仕組みを使用できます。
また,トランザクションの利用によって,メッセージの送信から受信までにトラブルが発生した場合に,システムの整合性を保つことができます。
-
CJMSPブローカーに障害が発生した場合
CJMSPブローカーに障害が発生した場合に送信先に登録されていたメッセージを保持するためには,メッセージを永続化しておくことが必要です。CJMSプロバイダでは,メッセージをファイルに保存して永続化できます。
この節では,これらの方法のうち,トランザクションの利用によって信頼性を確保する方法について,「7.7.2 トランザクションの利用」で説明します。
また,メッセージ配信時には,送受信されるメッセージの量によって,メモリリソースの問題が発生することもあります。メモリリソースを適切に運用するためにメッセージの流量を制御する方法については,「7.7.3 メッセージの流量制御」で説明します。
なお,メッセージ配信の確認応答の詳細については,JMS仕様を参照してください。なお,CJMSPブローカーによるファイルの永続化については,「7.8.4 管理情報およびメッセージの永続化サービス」で説明します。