2.2. キャッシュのインスタンス化と起動
Cache のインスタンスは CacheFactory よりのみ作成可能です。 これが、 古い TreeCache クラスのインスタンスを直接インスタンス化できた JBoss Cache 1.x と異なる点になります。
CacheFactory は Cache 作成のためのオーバーロードされたメソッドを複数提供しますが、 すべてのメソッドは基本的に同じことを行います。
- メソッドパラメータとしてパスするか、 XML の内容を分析して構築することで
Configurationへアクセスできるようにします。 XML の内容は、 提供された入力ストリームやクラスパスまたはファイルシステムの場所から取得できます。Configurationの取得に関する詳細は 3章設定 を参照してください。 Cacheをインスタンス化し、Configurationへの参照と共に提供します。- 任意でキャッシュの
create()メソッドとstart()メソッドを呼び出します。
デフォルトの設定値を使用してキャッシュを作成起動する最も簡単な例は次の通りです。
CacheFactory factory = new DefaultCacheFactory();
Cache cache = factory.createCache();
この例で、 クラスパス上の設定ファイルを検索し解析するよう
CacheFactory に伝えます。
CacheFactory factory = new DefaultCacheFactory();
Cache cache = factory.createCache("cache-configuration.xml");
この例で、 ファイルよりキャッシュを設定しますが、 設定要素をプログラムを用いて変更します。 そのため、 キャッシュを起動しないようファクトリに伝えます。
CacheFactory factory = new DefaultCacheFactory();
Cache cache = factory.createCache("/opt/configurations/cache-configuration.xml", false);
Configuration config = cache.getConfiguration();
config.setClusterName(this.getClusterName());
// Have to create and start cache before using it
cache.create();
cache.start();