障害が発生したブローカを復元するには、メッセージの配信処理の状態を作成し直す必要があります。そのためには、状態情報をデータストアに保存する必要があります。ブローカが再起動されると、保存されているデータを使用して送信先および永続サブスクリプションを再作成し、持続メッセージを復元し、開いているトランザクションをロールバックし、未配信メッセージのルーティングテーブルを再作成します。その後ブローカは、メッセージの配信を再開します。
Message Queue サービスは、ファイルベースの持続モジュールと JDBC 準拠の持続モジュールの両方をサポートしていますが (図 3–2 を参照)、デフォルトではファイルベースの持続を使用します。
ファイルベースの持続は、個々のファイルを使用して持続データを保存するメカニズムです。ファイルベースの持続を使用する場合は、次のタスクを実行するようにブローカのプロパティーを設定できます。
メッセージが追加および削除されたときの断片化を減らすために、データストアを圧縮する。
書き込みのたびにメモリー内の状態と物理的なストレージデバイスとを同期する。この同期化により、システム破壊によるデータの損失をなくすことができます。
データストアファイルへのメッセージの割り当てを管理し、ファイルの管理および保存に必要なリソースを管理する。
通常、ファイルベースの持続の方が、JDBC ベースの持続より処理速度が速くなりますが、JDBC 準拠のストアによる冗長性および管理制御を好むユーザーもいます。
JDBC の持続 は、Java Database Connectivity (JDBCTM) インタフェースを使用して、ブローカと JDBC 準拠のデータストアを接続します。ブローカが JDBC ドライバを介してデータストアにアクセスできるようにするには、次のことを実行する必要があります。
JDBC関連ブローカ設定プロパティーを設定します。これらのプロパティーを使用して、使用する JDBC ドライバの指定、JDBC ユーザーとしてのブローカの認証、必要なテーブルの作成などを行います。
imqdbmgr ユーティリティーを使用して適切なスキーマでデータストアを作成します。
これらのタスクの実行手順および関連する設定プロパティーについて詳しくは、『Sun Java System Message Queue 3.7 UR1 管理ガイド』の第 4 章「Configuring a Broker」を参照してください。