WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

存続期間の長い変数

メモリー内のキャッシュ・データに対して、適切な存続期間の長い ESQL データ・タイプを使用できます。

フローを通過する単一のメッセージの存続期間より長い期間に渡ってデータを保管する必要がある場合があります。 データの保管方法の 1 つとして、データベースにデータを保管するというものがあります。 データベースを使用する方法は、長期の持続性とトランザクション特性の点では優れていますが、アクセス (特に書き込みアクセス) は低速になります。

代わりに、適切な存続期間の長い ESQL データ・タイプを使用し、一定期間に渡ってデータのメモリー内キャッシュを提供できます。 存続期間の長い ESQL データ・タイプを使用するならデータベースを使った場合よりもアクセスが高速になりますが、この速度には、持続性が短くなりトランザクション特性がなくなるという犠牲が伴います。

存続期間の長い変数を作成するには、DECLARE ステートメントで SHARED キーワードを使用します。 詳細については、DECLARE ステートメントを参照してください。

以下のサンプルは、DECLARE ステートメントを使用して共用変数を定義する方法を示しています。 このサンプルは、ルーティング情報をデータベース表に保管する方法、および共用変数を使用してメモリー内のデータベース表をメッセージ・フローに保管してパフォーマンスを改善する方法を示しています。

サンプルに関する情報は、WebSphere® Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。

存続期間の長いデータ・タイプは長期に渡って存続し、ノードを通り抜ける単一のメッセージの存続時間を上回ります。 以下の表で説明されているように、存続期間の長いデータ・タイプは複数のスレッドの間で共用され、メッセージ・フローの存続期間 (メッセージ・フローへの構成変更から次の構成変更までの間) 存在します。

表 1. 存続期間の短い変数
  有効範囲 存続期間 共用
スキーマおよびモジュール ノード ノード内のスレッド なし
ルーチンのローカル ノード ルーチン内のスレッド なし
ブロックのローカル ノード ブロック内のスレッド なし
表 2. 存続期間の長い変数
  有効範囲 存続期間 共用
ノード共用 ノード ノードの存続期間 フローのすべてのスレッド
フロー共用 フロー フローの存続期間 フローのすべてのスレッド
存続期間の長い ESQL データ・タイプの特徴は以下のとおりです。

これらのデータ・タイプの典型的な使用法として、データ表がフローに対しては「読み取り専用」である場合に、そのフローの中でこうしたデータ・タイプを使用するというものがあります。 表データは実際には静的ではありませんが、フローがこれを変更することはありません。表データに何らかの変更が加えられるまでの間に、何千ものメッセージがフローの中を移動します。

以下に例を挙げます。
  • 1 日のクレジット・カードの取り引きが入った表があります。 この表は毎日作成され、その日のメッセージはこの表に対して実行されます。 それからフローが停止し、表が更新され、次の日のメッセージが実行されます。 この種のフローの場合、メッセージごとにデータベースから読み取るよりも、表データをキャッシュに入れれば、パフォーマンスが良くなるでしょう。
  • 複数のメッセージからのデータの集計と統合。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:47:32


概念トピック概念トピック | バージョン 8.0.0.5 | ak35120_