複合イベント処理ルールにおいて、XTPのキャッシュを参照する場合は、XTPのキャッシュに初期データを格納するアプリケーションの検討が必要です。既存のキャッシュが利用可能な場合は、既存のキャッシュで使われているキャッシュアクセスアプリケーションを利用します。
キャッシュアクセスアプリケーションの設計、開発の詳細については、Interstage eXtreme Transaction Processing Serverのマニュアル「アプリケーション開発ガイド」を参照してください。
更新対象のキャッシュの形式については「5.4.11.1 利用可能なXTPのキャッシュの形式」を参照してください。
XTPのキャッシュのKeyとValueに指定するHashMapは以下の関係とする必要があります。
Virtual Data WindowのkeyPropertyで指定する値を、HashMapのキーに設定します。
上記のHashMapのキーの値と同じ値を、XTPのキャッシュのKeyに設定します。
例
Virtual Data Windowの例
@VDW(cacheName='CacheA', keyProperty='key')
create window ウィンドウ名.isxtp:vdw() as (key string, address string);
XTPのキャッシュにエントリーを追加するプログラムの例
import javax.cache.*;
import java.util.HashMap;
:
CacheManager cacheManager = Caching.getCacheManager();
Cache<String,HashMap> cache = cacheManager.getCache("CacheA"); ...(1)
String keyProperty = "key"; ...(2)
String keyValue = "1"; ...(2)
HashMap value = new HashMap(); ...(3)
value.put(keyProperty, keyValue); ...(3)
value.put("address", "東京"); ...(3)
cache.putIfAbsent(keyValue, value); ...(4)
:
(1) Virtual Data Windowで使用するキャッシュを取得します。
(2) Virtual Data WindowのkeyPropertyに指定するキープロパティ名とその値を作成します。ここでは、“key”をkeyPropertyとして設定しています。
(3) キャッシュのValueとして格納するjava.util.HashMapオブジェクトを作成します。ここでは、プロパティ“address”にjava.lang.String型の値を設定しています。また、(2)で作成したkeyPropertyを必ず設定する必要があります。
(4) キャッシュにエントリーを追加します。