WebSphere® Message Broker は、ローカル・キャッシュの WebSphere Service Registry and Repository (WSRR) から取得したデータを保管します。
WSRR ノード (EndpointLookup および RegistryLookup) は、以前に実行した照会によって Broker WSRR キャッシュに格納されているデータを取り出すことができるため、パフォーマンスとメッセージ・スループットが向上します。 初めて使用された各照会は、必ず WSRR に送信されます。 デフォルトで、WSRR ノードが特定の照会を初めて発行したときにこの動作が行われます。ただし、ここで説明した照会を使用すれば、ブローカーの開始時にキャッシュをあらかじめ取り込んでおくことができます。
WebSphere Message Broker Explorer コマンドまたは mqsichangeproperties コマンドを使用すると、ブローカーごとにキャッシュを個別に構成できます。詳細については、構成可能サービスのプロパティーを参照してください。
needCache パラメーターを false に設定して、キャッシュを使用不可にします。 デフォルトでキャッシュは使用可能になっていますが、WSRR ノードはキャッシュを使わずに動作できます。 キャッシュを使用不可にすると、ノードが発行するすべての照会は WSRR に送信され、照会の結果にレジストリーの現在の内容が常に反映されます。 この動作がパフォーマンスに影響することがあります。
predefinedCacheQueries パラメーターを設定し、キャッシュをプリロードします。 デフォルトでは、キャッシュに項目はプリロードされず、各照会が初めて実行されるたびに WSRR に送信されます。 ブローカーの開始時、または WSRR フローを含むメッセージ・フローが初めてデプロイされたときに実行される、定義済み照会を指定できます。これにより、後続の WSRR ノードが使用するキャッシュにデータが設定されます。 定義済み照会を指定すると、パフォーマンスが影響を受けるのは、実行時に照会が初めて発行されたときではなく、開始時になります。 predefinedCacheQueries パラメーターは WSRR XPath 照会式のリストで、セミコロンで区切られ、それぞれオプションの深さが指定されています。 ユーザー・トレースによって、WSRR ノードが生成した WSRR XPath 照会式が表示されます。
timeout パラメーターを設定して、キャッシュ有効期限タイムアウトの値を変更します。 キャッシュに入れられた照会結果は、指定した時間が経過すると廃棄されます。 その照会が次に発行されると WSRR に送信され、新しい結果がキャッシュに登録されます。 レジストリーの内容が頻繁に変更されると思われる場合は、短めの有効期限タイムアウト値を指定することで、変更内容がすぐに反映されるようにします。 短めの値を指定すると、WSRR に送信される照会が多くなるので、パフォーマンスに影響します。
キャッシュ通知を使用可能にするには、enableCacheNotification パラメーターを true に設定し、WSRR サーバーの initialContextFactory および locationJNDIBinding の各プロパティーを適切に設定します。 デフォルトでは、キャッシュ通知は使用不可になっています。 キャッシュ通知は、各 WSRR エンティティーが WSRR で変更された時点でリフレッシュできるため、キャッシュされたデータをリフレッシュする方式としては、有効期限タイムアウトよりも柔軟です。
キャッシュ通知を使用可能にすると、キャッシュが WSRR 内で発生したイベントにサブスクライブし、WSRR でオブジェクトが更新または削除されたときに、キャッシュに通知されます。 オブジェクトはキャッシュから破棄されます。 refreshQueriesAfterNotification パラメーターが true に設定されている場合は、キャッシュは、オブジェクトの新しいバージョンによって直ちに更新されます。 refreshQueriesAfterNotification パラメーターが false に設定されていると、キャッシュは、WSRR ノードによって該当する照会が次回発行されたときに更新されます。