ヘッダーをスキップ
Oracle Coherence開発者ガイド
リリース3.5
B56039-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

D キャッシュ・コンフィギュレーションの要素

この付録では、キャッシュ・コンフィギュレーションに使用できる要素について説明します。また、それらの要素が使用されるデプロイメント・ディスクリプタ・ファイルについても記載しています。

キャッシュ・コンフィギュレーション・デプロイメント・ディスクリプタ

キャッシュ・コンフィギュレーション・デプロイメント・ディスクリプタを使用して、クラスタ内で使用できる様々な種類のキャッシュを指定します。クラスタ通信およびサービスの構成については、付録H「オペレーション・コンフィギュレーションの要素」を参照してください。

ドキュメントの場所

ディスクリプタの名前と場所は、オペレーション・デプロイメント・ディスクリプタで指定されているcoherence-cache-config.xmlにデフォルト設定されます。このデフォルトのコンフィギュレーション・ディスクリプタはcoherence.jarにパッケージ化されており、カスタム・ファイルがアプリケーションのクラスパスに検出されないかぎり使用されます。クラスタ内のすべてのノードで使用するキャッシュ・コンフィギュレーション・ディスクリプタを統一することをお薦めします。

ドキュメント・ルート

コンフィギュレーション・ディスクリプタのルート要素は<cache-config>です。キャッシュの構成はここから開始します。

ドキュメントの形式

キャッシュ・コンフィギュレーション・ディスクリプタは、次のDOCTYPE宣言から開始します。

<!DOCTYPE cache-config SYSTEM "cache-config.dtd">

注意:

デフォルトのキャラクタ・セットがASCIIではなくEBCDICである環境にCoherenceをデプロイする場合、このディスクリプタ・ファイルがASCII形式であり、ランタイム環境にバイナリ形式でデプロイされることを確認してください。

コマンドラインのオーバーライド

Oracle Coherenceには強力なコマンドライン・オーバーライド機能があり、このディスクリプタにsystem-property属性が定義されている場合は、ディスクリプタに定義された要素をJavaコマンドラインからオーバーライドできます。この機能の詳細は、付録L「コマンドラインのオーバーライド」を参照してください。

使用例については、付録F「キャッシュ・コンフィギュレーションのサンプル」を参照してください。


要素の索引

次の表は、キャッシュ・コンフィギュレーションで使用可能なすべての非終端要素を一覧表示しています。

表D-1 キャッシュ・コンフィギュレーションの要素

要素 使用場所

acceptor-config


proxy-scheme


async-store-manager


external-schemepaged-external-scheme

authorized-hosts


tcp-acceptor


backing-map-scheme


distributed-schemeoptimistic-schemereplicated-scheme

backup-storage


distributed-scheme


bdb-store-manager


external-schemepaged-external-schemeasync-store-manager

cache-config


ルート要素

cache-mapping


caching-scheme-mapping


cache-service-proxy


proxy-config


caching-scheme-mapping


cache-config


caching-schemes


cache-config


class-scheme


caching-schemeslocal-schemedistributed-schemereplicated-schemeoptimistic-schemenear-schemeoverflow-schemeread-write-backing-map-schemecachestore-schemelistener

cachestore-scheme


local-schemeread-write-backing-map-scheme

custom-store-manager


external-schemepaged-external-schemeasync-store-manager

disk-scheme


caching-schemes


distributed-scheme


caching-schemesnear-schemeoverflow-scheme

external-scheme


caching-schemesdistributed-schemereplicated-schemeoptimistic-schemenear-schemeoverflow-schemeread-write-backing-map-scheme

init-param


init-params


init-params


class-scheme


initiator-config


remote-cache-schemeremote-invocation-scheme

invocation-scheme


caching-schemes


jms-acceptor


acceptor-config


jms-initiator


initiator-config


key-associator


distributed-scheme


key-partitioning


distributed-scheme


lh-file-manager


external-schemepaged-external-schemeasync-store-manager

listener


disk-schemelocal-schemeexternal-schemepaged-external-schemedistributed-schemereplicated-schemeoptimistic-schemenear-schemeoverflow-schemeread-write-backing-map-scheme

local-scheme


caching-schemesdistributed-schemereplicated-schemeoptimistic-schemenear-schemeoverflow-schemeread-write-backing-map-scheme

near-scheme


caching-schemes


nio-file-manager


external-schemepaged-external-schemeasync-store-manager

nio-memory-manager


external-schemepaged-external-schemeasync-store-manager

operation-bundling


cachestore-schemedistributed-schemeremote-cache-scheme

optimistic-scheme


caching-schemesnear-schemeoverflow-scheme

outgoing-message-handler


acceptor-configinitiator-config

overflow-scheme


caching-schemesdistributed-schemereplicated-schemeoptimistic-schemeread-write-backing-map-scheme

paged-external-scheme


caching-schemesdistributed-schemereplicated-schemeoptimistic-schemenear-schemeoverflow-schemeread-write-backing-map-scheme

partitioned


backing-map-scheme


proxy-config


proxy-scheme


proxy-scheme


caching-schemes


read-write-backing-map-scheme


caching-schemesdistributed-schemereplicated-schemeoptimistic-scheme

remote-cache-scheme


cachestore-schemecaching-schemesnear-scheme

remote-invocation-scheme


caching-schemes


replicated-scheme


caching-schemesnear-schemeoverflow-scheme

tcp-acceptor


acceptor-config


tcp-initiator


initiator-config




acceptor-config

使用場所: proxy-scheme

説明

acceptor-config要素は、プロトコル固有の接続アクセプタの構成情報を指定します。接続アクセプタはプロキシ・サービスで使用され、Coherence*Extendクライアントからクラスタへの接続を有効にして、クライアントがクラスタに参加していなくても、クラスタの提供するサービスを使用できるようにします。

acceptor-config要素には、プロトコル固有の接続アクセプタの構成要素を1つだけ記述します(jms-acceptorまたはtcp-acceptor)。

要素

表D-2は、acceptor-config要素で定義可能なサブ要素について説明しています。

表D-2 acceptor-configのサブ要素

要素 必須/オプション 説明

<connection-limit>

オプション

この接続アクセプタで許可される同時接続の最大数。有効な値は、正の整数および0です。値0は制限がないことを意味します。デフォルト値は0です。

<jms-acceptor>

オプション

Coherence*ExtendクライアントからクラスタへのJMSを介した接続を有効にする、接続アクセプタの構成情報を指定します。

<outgoing-message-handler>

オプション

クライアントからクラスタへの接続の切断を検出するために接続アクセプタで使用される構成情報を指定します。

<serializer>

オプション

接続アクセプタがユーザー定義型のシリアライズおよびデシリアライズに使用する、com.tangosol.io.Serializer実装のクラス構成情報を指定します。次の例は、POFユーザー定義型のコンフィギュレーション・ファイルmy-pof-types.xmlを使用してユーザー定義型をPOFストリームに対してシリアライズおよびデシリアライズするConfigurablePofContextを構成しています。

<serializer>
  <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
  <init-params>
    <init-param>
      <param-type>string</param-type>
      <param-value>my-pof-types.xml</param-value>
    </init-param>
  </init-params>
</serializer>

<tcp-acceptor>

オプション

Coherence*ExtendクライアントからクラスタへのTCP/IPを介した接続を有効にする、接続アクセプタの構成情報を指定します。

<use-filters>

オプション

この接続アクセプタで使用する<filters>名のリストを記述します。たとえば、use-filterを次のように指定すると、すべてのネットワーク・メッセージに対してgzip圧縮がアクティブ化されるため、WANおよび低帯域幅ネットワークのパフォーマンスが大幅に向上します。

<use-filters>
    <filter-name>gzip</filter-name>
</use-filters>


address-provider

使用場所: tcp-initiator

説明

com.tangosol.net.AddressProviderインタフェースを実装するアドレス・ファクトリの構成情報を記述します。

要素

表D-3は、address-provider要素で定義可能なサブ要素について説明しています。

表D-3 address-providerのサブ要素

要素 必須/オプション 説明

<class-factory-name>

オプション

オブジェクトのインスタンス化でファクトリとして使用されるJavaクラスの完全修飾名を指定します。

<class-name>

必須

com.tangosol.net.AddressProviderインタフェースを実装するクラスの名前。

<init-params>

オプション

com.tangosol.run.xml.XmlConfigurableインタフェースをサポートする実装によってアクセス可能な初期化パラメータ、または一致するシグネチャを持つpublicなコンストラクタを記述する初期化パラメータを指定します。

<method-name>

オプション

オブジェクトのインスタンス化を実行する、ファクトリ・クラスのstaticなファクトリ・メソッドの名前を指定します。



async-store-manager

使用場所: external-schemepaged-external-scheme

説明

async-store-manager要素は、他のストア・マネージャの実装に、非同期の書込み機能を追加します。サポートされるストア・マネージャは次のとおりです。

実装

このストア・マネージャは、com.tangosol.io.AsyncBinaryStoreManagerクラスによって実装されます。

要素

表D-4は、async-store-manager要素で定義可能なサブ要素について説明しています。

表D-4 async-store-managerのサブ要素

要素 必須/オプション 説明

<async-limit>

オプション

非同期に書き込まれるキューに配置される最大バイト数を指定します。この値を0に設定しても非同期の書込みが無効になるわけではありません。0が設定されている場合は、この実装にデフォルトの最大バイト数が必要であることを示します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[K|k|M|m]?[B|b]?

前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。

  • K(キロ、210)

  • M(メガ、220)

値に係数が含まれていない場合は、1が係数として適用されます。有効な値は、正のメモリー・サイズまたは0です。デフォルト値は4MBです。

<bdb-store-manager>

オプション

キャッシュ記憶域にBerkeley Database JEのオンディスク・データベースを使用するよう外部キャッシュを構成します。

<class-name>

オプション

async-store-managerのカスタム実装を指定します。カスタム実装では、com.tangosol.io.AsyncBinaryStoreManagerクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<custom-store-manager>

オプション

ストレージ・マネージャのカスタム実装を使用するよう外部キャッシュを構成します。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装するasync-store-managerのカスタム実装で使用されます。

<lh-file-manager>

オプション

キャッシュ記憶域にCoherence LHのオンディスク・データベースを使用するよう外部キャッシュを構成します。

<nio-file-manager>

オプション

キャッシュ記憶域にメモリーマップ・ファイルを使用するよう外部キャッシュを構成します。

<nio-memory-manager>

オプション

キャッシュ記憶域にJVMヒープ外のメモリー領域を使用するよう外部キャッシュを構成します。



backing-map-scheme

使用場所: distributed-schemeoptimistic-schemereplicated-scheme

説明

キャッシュ・サーバー内でのエントリの格納に使用するキャッシュのタイプを指定します。

オーバーフロー・ベースのバッキング・マップを使用する際は、対応するbackup-storageでオーバーフローを構成することが重要です(可能であれば、backing-mapと同じスキームを使用します)。構成例については、「オーバーフローが設定されたパーティション・キャッシュ」を参照してください。


注意:

partitionedサブ要素は、親要素がdistributed-schemeの場合にのみ使用されます。

要素

表D-5は、backing-map-scheme要素で定義可能なサブ要素について説明しています。 :

表D-5 backing-map-schemeのサブ要素

要素 必須/オプション 説明

<class-scheme>

オプション

クラス・スキームは、任意のJavaオブジェクトをインスタンス化して、他のスキームでの使用を可能にするメカニズムを提供します。この要素を含むスキームによって、拡張の必要なクラスまたはインタフェースが指定されます。

<external-scheme>

オプション

外部スキームを使用すると、JVMヒープ・ベースでないキャッシュを定義することで大容量の記憶域の使用が可能になります。

<local-scheme>

オプション

ローカル・キャッシュ・スキームは、インメモリー・ローカル・キャッシュを定義します。ローカル・キャッシュは一般に、他のキャッシュ・スキーム内にネストされます(ニア・スキームのフロント層としてなど)。

<paged-external-scheme>

オプション

external-scheme同様、paged-external-schemesは、より大きな記憶域容量の使用を可能にする非JVMヒープ・ベースのキャッシュを定義します。

<partitioned>

オプション


<overflow-scheme>

オプション

overflow-schemeは、高速でサイズ制限のあるフロント層キャッシュと、低速でより大容量のバック層キャッシュで構成される2層キャッシュを定義します。

<read-write-backing-map-scheme


オプション

read-write-backing-map-schemeは、永続ストアのサイズ制限されたキャッシュを提供するバッキング・マップを定義します。

<versioned-backing-map-scheme>

オプション

versioned-backing-map-schemeは、read-write-backing-map-schemeの拡張で、永続ストアのサイズ制限されたキャッシュを定義します。オブジェクトのバージョニングを使用して、永続ストアに書き込む必要のある更新が判断されます。



backup-storage

使用場所: distributed-scheme

説明

backup-storage要素は、パーティション・キャッシュのバックアップ記憶域のタイプと構成を指定します。

要素

次の表は、backup-storage要素で定義可能なサブ要素について説明しています。

表D-6 backup-storageのサブ要素

要素 必須/オプション 説明

<class-name>

オプション

customタイプにのみ適用されます。カスタム記憶域実装のクラス名を指定します。クラスにcom.tangosol.run.xml.XmlConfigurableインタフェースが実装される場合は、構成時にsetConfigメソッドが呼び出され、backup-storage要素全体が渡されます。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたbackup-storage/class-name値です。詳細は、「DistributedCacheサービスのパラメータ」を参照してください。

<directory>

オプション

file-mappedタイプにのみ適用されます。ディスク永続性マネージャ(com.tangosol.util.nio.MappedBufferManager)がファイルを格納するときのルートとして使用するディレクトリのパス名を指定します。指定しない場合、または存在しないディレクトリを指定した場合には、デフォルトの場所にある一時ファイルが使用されます。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたbackup-storage/directory値です。詳細は、「DistributedCacheサービスのパラメータ」を参照してください。

<initial-size>

オプション

off-heapおよびfile-mappedタイプにのみ適用されます。バッファの初期サイズをバイト単位で指定します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]]?[K|k|M|m|G|g]?[B|b]?

前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。

  • Kまたはk(キロ、210)

  • Mまたはm(メガ、220)

  • Gまたはg(ギガ、230)

値に係数が含まれていない場合は、Mが係数として適用されます。有効な値は、1からInteger.MAX_VALUE - 1023(つまり、2、147、482、624バイト)の間の正の整数です。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたbackup-storage/initial-size値です。詳細は、「DistributedCacheサービスのパラメータ」を参照してください。

<maximum-size>

オプション

off-heapタイプおよびfile-mappedタイプにのみ適用されます。バッファの初期サイズをバイト単位で指定します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]]?[K|k|M|m|G|g]?[B|b]?

前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。

  • Kまたはk(キロ、210)

  • Mまたはm(メガ、220)

  • Gまたはg(ギガ、230)

値に係数が含まれていない場合は、Mが係数として適用されます。有効な値は、1からInteger.MAX_VALUE - 1023(つまり、2、147、482、624バイト)の間の正の整数です。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたbackup-storage/maximum-size値です。詳細は、「DistributedCacheサービスのパラメータ」を参照してください。

<scheme-name>

オプション

schemタイプにのみ適用されます。ConfigurableCacheFactoryのスキーム名を指定します。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたbackup-storage/scheme-name値です。詳細は、「DistributedCacheサービスのパラメータ」を参照してください。

<type>

必須

バックアップ・データの保持に使用する記憶域のタイプを指定します。有効な値は次のとおりです。

  • on-heap: 対応する実装クラスはjava.util.HashMapです。

  • off-heap: 対応する実装クラスは、com.tangosol.io.nio.DirectBufferManagerを使用するcom.tangosol.io.nio.BinaryMapです。

  • file-mapped: 対応する実装クラスは、com.tangosol.io.nio.MappedBufferManagerを使用するcom.tangosol.io.nio.BinaryMapです。

  • custom: 対応する実装クラスは、class-name要素によって指定されるクラスです。

  • scheme: 対応する実装クラスは、scheme-name要素によってcaching-schemeとして指定されます。

デフォルト値は、tangosol-coherence.xmlディスクリプタに指定された値です。詳細は、「DistributedCacheサービスのパラメータ」の<backup-storage/type>パラメータを参照してください。



bdb-store-manager

使用場所: external-schemepaged-external-schemeasync-store-manager


注意:

bdb-store-managerを使用するには、Berkeley Database JEのJavaクラス・ライブラリが必要です。詳細は、Berkeley Database JEの製品ページを参照してください。

説明

BDBストア・マネージャは、Berkeley Database JEのオンディスク埋込みデータベースを記憶域として使用する外部キャッシュの定義に使用されます。Berkelyベースのストア構成の例は、「オンディスク永続キャッシュ」および「ディスク・ベースのオーバーフローが設定されたインメモリー・キャッシュ」を参照してください。

実装

このストア・マネージャは、com.tangosol.io.bdb.BerkeleyDBBinaryStoreManagerクラスによって実装され、com.tangosol.io.bdb.BerkeleyDBBinaryStoreクラスによって実装されるBinaryStoreオブジェクトを生成します。

要素

表D-7は、bdb-store-manager要素で定義可能なサブ要素について説明しています。

表D-7 bdb-store-managerのサブ要素

要素 必須/オプション 説明

<class-name>

オプション

Berkeley Database BinaryStoreManagerのカスタム実装を指定します。カスタム実装では、com.tangosol.io.bdb.BerkeleyDBBinaryStoreManagerクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<directory>

オプション

Berkeley Database JEのストア・マネージャがファイルを格納するルート・ディレクトリのパス名を指定します。指定しない場合、または存在しないディレクトリを指定した場合は、デフォルトの場所にある一時ディレクトリが使用されます。

<init-params>

オプション

追加のBerkeley DBのコンフィギュレーション設定を指定します。Berkeley DBの構成に関する情報を参照してください。com.tangosol.run.xml.XmlConfigurableインタフェースを実装するカスタム実装で使用される、初期化パラメータの指定にも使用されます。

<store-name>

オプション

Berkeley Database JEのストア・マネージャがデータを格納するデータベース表名を指定します。このパラメータを指定すると、bdb-store-managerでは非一時(永続)データベース・インスタンスが使用されます。これは、非一時ストアのキャッシュ・ローダーでバッキングされるローカル・キャッシュを対象としてのみ提供されるもので、この機能により、ローカル・キャッシュには起動時にディスクからデータが事前移入されるようになります。指定する場合は、{cache-name}マクロを使用することをお薦めします。通常このパラメータは未指定のままにして、一時記憶域が使用されることを示す必要があります。{cache-name}マクロの詳細は、付録E「キャッシュ・コンフィギュレーションのパラメータ・マクロ」を参照してください。



bundle-config

使用場所: operation-bundling

説明

bundle-config要素は、1つ以上のバンドル可能な操作に対するバンドル方針の構成を指定します。

要素

表D-8は、bundle-config要素で定義可能なサブ要素について説明しています。

表D-8 bundle-configのサブ要素

要素 必須/オプション 説明

<auto-adjust>

オプション

(実行時統計に基づく)preferred-size値の自動調整を許可するかどうかを指定します。

有効な値は、trueまたはfalseです。デフォルト値はfalseです。

<delay-millis>

オプション

個別の実行リクエストをバンドルして対応するバルク操作にまとめて渡すため、各実行リクエストに許容される最大遅延時間をミリ秒単位で指定します。指定された遅延時間内にpreferred-sizeしきい値に達した場合は、バンドルが即座に処理されます。

有効な値は正の数値です。デフォルト値は1です。

<operation-name>

必須

複数のスレッドに対して同時実行される呼出しを、機能的に類似した1つのバルク操作にバンドルする操作名を指定します。バルク操作は、単一の引数でなく、引数のコレクションを取ります。

有効な値は、バンドル構成のコンテキストによって異なります。<cachestore-scheme>での有効な操作は次のとおりです。

  • load"

  • store

  • erase

<distributed-scheme>および<remote-cache-scheme>での有効な操作は次のとおりです。

  • get

  • put

  • remove

いずれの場合も、すべての有効な操作に対応するallという擬似操作があります。デフォルト値はallです。

<preferred-size>

オプション

バンドル・サイズのしきい値を指定します。バンドル・サイズがこの値に達すると、対応するバルク操作が即座に起動されます。この値は、コンテキスト固有の単位で測定されます。

有効な値は、0(バンドルが無効)または正の値です。デフォルト値は0です。

<thread-threshold>

オプション

個別の(非バンドル)リクエストを同時実行することが要求されるスレッドの最小数を指定します。スレッド数がこの値を超えると、バンドル機能がパススルー・モードからバンドル・モードに切り替わります。

有効な値は正の数値です。デフォルト値は4です。



cache-config

ルート要素

説明

cache-config要素は、キャッシュ・コンフィギュレーション・ディスクリプタcoherence-cache-config.xmlのルート要素です。このドキュメントの詳細は、「キャッシュ・コンフィギュレーション・デプロイメント・ディスクリプタ」を参照してください。

高レベルのキャッシュ・コンフィギュレーションは、キャッシュ・スキームとキャッシュ・スキーム・マッピングで構成されます。キャッシュ・スキームには、(データベースでバッキングされる分散キャッシュなど)キャッシュのタイプを記述します。キャッシュのマッピングには、特定のキャッシュ名に対して使用されるスキームを定義します。

要素

表D-9は、cache-config要素で定義可能なサブ要素について説明しています。

表D-9 cache-configのサブ要素

要素 必須/オプション 説明

<caching-scheme-mapping>

必須

キャッシュ名に基づいて、キャッシュに使用されるキャッシュ・スキームを指定します。

<caching-schemes>

必須

クラスタ内で使用可能なキャッシュ・スキームを定義します。



cache-mapping

使用場所: caching-scheme-mapping

説明

cache-mapping要素によって、特定のキャッシュ名またはパターンで使用されるcaching-schemesが指定されます。

要素

表D-10は、cache-mapping要素で定義可能なサブ要素について説明しています。

表D-10 cache-mappingのサブ要素

要素 必須/オプション 説明

<cache-name>

必須

キャッシュ名または名前のパターンを指定します。この名前はキャッシュ・ファクトリ内で一意です。サポートされるキャッシュ名のパターンは次のとおりです。

  • MyCacheのような完全一致。

  • My*のような接頭辞の一致。Myで始まるすべてのキャッシュ名が一致します。

  • 任意の一致(*)。すべてのキャッシュ名に一致します。

パターンは特異性の高い順に一致します(可能なかぎり、特異性のある定義から選択されます)。たとえば、MyCacheMy*の両方のマッピングが指定されている場合は、MyCacheマッピングのスキームを使用してMyCacheというキャッシュが構成されます。

<scheme-name>

必須

キャッシュ・スキーム名を記述します。この名前はコンフィギュレーション・ファイル内で一意です。キャッシュ・スキームはcaching-schemes要素で構成されます。

<init-params>

オプション

置換可能なキャッシュ・スキーム・パラメータの指定を可能にします。キャッシュ・スキームの解析時に、形式param-nameの置換可能パラメータが検出されると、そのパラメータが対応するパラメータ値に置換されます。次のキャッシュのマッピング例を参照してください。

<cache-mapping>
  <cache-name>My*</cache-name>
  <scheme-name>my-scheme</scheme-name>
  <init-params>
    <init-param>
      <param-name>cache-loader</param-name>
      <param-value>com.acme.MyCacheLoader</param-value>
    </init-param>
    <init-param>
      <param-name>size-limit</param-name>
      <param-value>1000</param-value>
    </init-param>
  </init-params>
</cache-mapping>

My*に一致するすべてのキャッシュ名において、対応するcache-scheme要素の任意の部分にcache-loaderリテラルが存在すると、すべての対象リテラルが文字列com.acme.MyCacheLoaderに置換され、リテラルのサイズ制限が値1000に置換されます。これは、Coherence 3.0以降の動作です。



cache-service-proxy

使用場所: proxy-config

説明

cache-service-proxy要素には、プロキシ・サービスによって管理されるキャッシュ・サービス・プロキシの構成情報を記述します。

要素

表D-11は、cache-service-proxy要素で定義可能なサブ要素について説明しています。

表D-11 cache-service-proxyのサブ要素

要素 必須/オプション 説明

<enabled>

オプション

キャッシュ・サービス・プロキシが有効化されているかどうかを指定します。無効化されている場合、クライアントはプロキシ・キャッシュにアクセスできません。有効な値は、trueまたはfalseです。デフォルト値はtrueです。

<lock-enabled>

オプション

リモート・クライアントからのロック・リクエストをプロキシ・キャッシュで許可するかどうかを指定します。有効な値は、trueまたはfalseです。デフォルト値はfalseです。

<read-only>

オプション

リモート・クライアントからのキャッシュ更新リクエストをプロキシ・キャッシュで禁止するかどうかを指定します。有効な値は、trueまたはfalseです。デフォルト値はfalseです。



cachestore-scheme

使用場所: local-schemeread-write-backing-map-schemeversioned-backing-map-scheme

説明

キャッシュ・ストア・スキームは、キャッシュをバックエンドのデータ・ストアに接続するメカニズムを定義します。キャッシュ・ストア・スキームでは、読取り/書込み機能を提供するcom.tangosol.net.cache.CacheStoreインタフェース、または読取り専用のcom.tangosol.net.cache.CacheLoaderインタフェースを実装するクラスを使用します。これらのインタフェースのカスタム実装を生成して、Coherenceを様々なデータ・ストアに接続することもできます。cachestore-schemeの使用例については、「データベースのキャッシュ」を参照してください。

要素

表D-12は、cachestore-scheme要素で定義可能なサブ要素について説明しています。

表D-12 cachestore-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。「スキームの継承」を参照してください。

<class-scheme>

オプション

キャッシュ・ストアの実装を指定します。指定されたクラスでは、次のいずれかのインタフェースを実装する必要があります。

  • com.tangosol.net.cache.CacheStore: 読取り/書込み機能をサポートする場合

  • com.tangosol.net.cache.CacheLoader: 読取り専用機能をサポートする場合

<remote-cache-scheme>

オプション

キャッシュ・ストアの実装としてCoherence*Extendを使用するようcachestore-schemeを構成します。

<operation-bundling>

オプション

バンドル方針の構成情報を指定します。



caching-scheme-mapping

使用場所: cache-config

説明

キャッシュ名(または名前のパターン)とcaching-schemesとのマッピングを定義します。たとえば、名前がaccounts-で始まるキャッシュでは分散(distributed-scheme)キャッシュ・スキームを使用し、名前がrates-で始まるキャッシュではreplicated-schemeキャッシュ・スキームを使用するように定義できます。

要素

表D-13は、caching-scheme-mapping要素で定義可能なサブ要素について説明しています。

表D-13 caching-scheme-mappingのサブ要素

要素 必須/オプション 説明

<cache-mapping>

オプション

キャッシュ名と、このキャッシュで使用するキャッシュ・スキームとの単一バインディングを記述します。



caching-schemes

使用場所: cache-config

説明

caching-schemes要素は、一連のキャッシュ・スキーム要素を定義します。各キャッシュ・スキームは、キャッシュのタイプを定義します(データベースでバッキングされるパーティション・キャッシュ、LRUエビクション・ポリシーが指定されたローカル・キャッシュなど)。スキームのタイプはcaching-scheme-mappingを使用して実際のキャッシュにバインドされます。

スキームのタイプと名前

各キャッシュ・スキーム要素のタイプは、分散やレプリケーションといったキャッシュ・タイプの記述に使用されます。それぞれに一意のscheme-nameが設定されているかぎり、同じタイプのインスタンスを何度でも定義できます。

例D-1は、2つの異なる分散スキームの構成を示しています。

例D-1 2つの異なる分散スキームの構成

<distributed-scheme>
  <scheme-name>DistributedInMemoryCache</scheme-name>
  <service-name>DistributedCache</service-name>
  <backing-map-scheme>
    <local-scheme/>
  </backing-map-scheme>
</distributed-scheme>

<distributed-scheme>
  <scheme-name>DistributedOnDiskCache</scheme-name>
  <service-name>DistributedCache</service-name>
  <backing-map-scheme>
    <external-scheme>
      <nio-file-manager>
        <initial-size>8MB</initial-size>
        <maximum-size>512MB</maximum-size>
        <directory></directory>
      </nio-file-manager>
    </external-scheme>
  </backing-map-scheme>
</distributed-scheme>

ネスト・スキーム

キャッシュ・スキームのタイプによっては、ネスト・スキームが定義されています。たとえば前述の例では、分散スキームにバッキング・マップを記述するネスト・スキーム定義が組み込まれています。

スキームの継承

キャッシュ・スキームは、特定のスキーム・タイプに必要なすべての要素を指定して定義することも、同じタイプの別の指定スキームから継承し、特定の値のみを選択的にオーバーライドして定義することもできます。スキームの継承は、継承先のスキームに、継承元のスキームのscheme-nameを記述した<scheme-ref>要素を組み込むことで実行できます。

たとえば、例D-2の2つの構成では、同じDistributedInMemoryCacheスキーム定義が生成されます。

例D-2 同じスキーム定義の構成

<distributed-scheme>
  <scheme-name>DistributedInMemoryCache</scheme-name>
  <service-name>DistributedCache</service-name>
  <backing-map-scheme>
    <local-scheme>
      <eviction-policy>LRU</eviction-policy>
      <high-units>1000</high-units>
      <expiry-delay>1h</expiry-delay>
    </local-scheme>
  </backing-map-scheme>
</distributed-scheme>
<distributed-scheme>
  <scheme-name>DistributedInMemoryCache</scheme-name>
  <service-name>DistributedCache</service-name>
  <backing-map-scheme>
    <local-scheme>
      <scheme-ref>LocalSizeLimited</scheme-ref>
    </local-scheme>
  </backing-map-scheme>
</distributed-scheme>

<local-scheme>
  <scheme-name>LocalSizeLimited</scheme-name>
  <eviction-policy>LRU</eviction-policy>
  <high-units>1000</high-units>
  <expiry-delay>1h</expiry-delay>
</local-scheme>

最初の定義のほうが若干簡潔ですが、2番目の定義には、LocalSizeLimitedスキームを複数のスキームで簡単に再利用できる機能があります。例D-3では同じLocalSizeLimitedベース定義を再利用していますが、2番目の定義ではexpiry-delayの設定を変更しています。

例D-3 同じベース定義を再利用する複数のスキーム

<distributed-scheme>
  <scheme-name>DistributedInMemoryCache</scheme-name>
  <service-name>DistributedCache</service-name>
  <backing-map-scheme>
    <local-scheme>
      <scheme-ref>LocalSizeLimited</scheme-ref>
    </local-scheme>
  </backing-map-scheme>
</distributed-scheme>

<replicated-scheme>
  <scheme-name>ReplicatedInMemoryCache</scheme-name>
  <service-name>ReplicatedCache</service-name>
  <backing-map-scheme>
    <local-scheme>
      <scheme-ref>LocalSizeLimited</scheme-ref>
      <expiry-delay>10m</expiry-delay>
    </local-scheme>
  </backing-map-scheme>
</replicated-scheme>

<local-scheme>
  <scheme-name>LocalSizeLimited</scheme-name>
  <eviction-policy>LRU</eviction-policy>
  <high-units>1000</high-units>
  <expiry-delay>1h</expiry-delay>
</local-scheme>

要素

表D-14は、caching-schemes要素で定義可能な各スキーム・タイプについて説明しています。

表D-14 caching-schemesのサブ要素

要素 必須/オプション 説明

<local-scheme>

オプション

on-heapキャッシュ記憶域を提供するキャッシュ・スキームを定義します。

<external-scheme>

オプション

off-heapキャッシュ記憶域(オンディスク・キャッシュなど)を提供するキャッシュ・スキームを定義します。

<paged-external-scheme>

オプション

時間ベースのページングを使用してサイズ制限される、off-heapキャッシュ記憶域を提供するキャッシュ・スキームを定義します。

<distributed-scheme>

オプション

キャッシュ・エントリの記憶域がクラスタ・ノード全体でパーティション化されるキャッシュ・スキームを定義します。

<replicated-scheme>

オプション

各キャッシュ・エントリがすべてのクラスタ・ノードに格納されるキャッシュ・スキームを定義します。

<optimistic-scheme>

オプション

ペシミスティック・ロックではなくオプティミスティック・ロックを使用するレプリケーション・キャッシュ・スキームを定義します。

<near-scheme>

オプション

高速のローカル・フロント層と大規模なバック層のキャッシュで構成される2層キャッシュ・スキームを定義します。

<versioned-near-scheme>

オプション

オブジェクトのバージョニングを使用してフロント層とバック層の一貫性を維持するニア・スキームを定義します。

<overflow-scheme>

オプション

サイズ制限のあるフロント層のオーバーフローで削除されたエントリが大規模なバック層キャッシュに格納される2層キャッシュ・スキームを定義します。

<invocation-scheme>

オプション

クラスタ・ノード全体でカスタム操作をパラレルに実行するための起動サービスを定義します。

<read-write-backing-map-scheme>

オプション

永続ストアのキャッシュを提供するバッキング・マップ・スキームを定義します。

<versioned-backing-map-scheme>

オプション

オブジェクトのバージョニングを使用して、永続ストアに書き込む必要のある更新を判断するバッキング・マップ・スキームを定義します。

<remote-cache-scheme>

オプション

Coherence*Extendを使用してCoherenceクラスタ外部からのキャッシュへのアクセスを有効にするキャッシュ・スキームを定義します。

<class-scheme>

オプション

キャッシュのカスタム実装を使用してキャッシュ・スキームを定義します。カスタム実装では、java.util.Mapインタフェースを実装し、パラメータがゼロのpublicなコンストラクタを組み込む必要があります。さらに、CacheService以外によってMapのコンテンツが変更される可能性がある場合(たとえば、Mapがそれ自体のエントリを定期的に自動失効させる場合やコンテンツ・サイズを制限する場合)、返されるオブジェクトはcom.tangosol.util.ObservableMapインタフェースを実装する必要があります。

<disk-scheme>

オプション

注意: Coherence 3.0以降、disk-scheme構成要素は非推奨になり、external-schemeおよびpaged-external-scheme構成要素に置き換えられています。



class-scheme

使用場所: caching-schemeslocal-schemedistributed-schemereplicated-schemeoptimistic-schemenear-schemeversioned-near-schemeoverflow-schemeread-write-backing-map-schemeversioned-backing-map-schemecachestore-schemelistener

説明

クラス・スキームは、任意のJavaオブジェクトをインスタンス化して、他のスキームでの使用を可能にするメカニズムを提供します。この要素を含むスキームによって、拡張の必要なクラスまたはインタフェースが指定されます。class-schemeの使用例については、「データベースのキャッシュ」を参照してください。

class-schemeでは、class-nameを使用して直接的に、またはclass-factory-nameおよびmethod-nameを使用して間接的にオブジェクトのインスタンス化を構成できます。class-schemeは、class-nameで構成するか、class-factory-namemethod-nameで構成する必要があります。

要素

表D-15は、class-scheme要素で定義可能なサブ要素について説明しています。

表D-15 class-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<class-name>

オプション

インスタンス化するJavaクラスの完全修飾名を記述します。このクラスは、含まれるスキームの記述に従って適切な実装クラスを拡張し、スーパークラスと完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<class-factory-name>

オプション

オブジェクトのインスタンス化でファクトリとして使用されるJavaクラスの完全修飾名を指定します。

<method-name>

オプション

オブジェクトのインスタンス化を実行する、ファクトリ・クラスのstaticなファクトリ・メソッドの名前を指定します。

<init-params>

オプション

com.tangosol.run.xml.XmlConfigurableインタフェースをサポートする実装によってアクセス可能な初期化パラメータ、または一致するシグネチャを持つpublicなコンストラクタを記述する初期化パラメータを指定します。



custom-store-manager

使用場所: external-schemepaged-external-schemeasync-store-manager

説明

外部キャッシュで使用するストア・マネージャのカスタム実装の作成および構成に使用されます。

要素

表D-16は、custom-store-manager要素で定義可能なサブ要素について説明しています。

表D-16 custom-store-managerのサブ要素

要素 必須/オプション 説明

<class-name>

必須

ストア・マネージャの実装を指定します。指定したクラスは、com.tangosol.io.BinaryStoreManagerインタフェースを実装する必要があります。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装するストア・マネージャのカスタム実装で使用されます。



disk-scheme


注意:

Coherence 3.0以降、disk-scheme構成要素は非推奨になり、<external-scheme>および<paged-external-scheme>構成要素に置き換えられています。


distributed-scheme

使用場所: caching-schemesnear-schemeversioned-near-schemeoverflow-schemeversioned-backing-map-scheme

説明

distributed-schemeは、エントリの記憶域をクラスタ・ノード全体でパーティション化するキャッシュを定義します。パーティション・キャッシュの詳細は、「パーティション・キャッシュ・サービス」を参照してください。「パーティション・キャッシュ」で、様々なdistributed-schemeの構成例を参照してください。

クラスタ化された並列処理制御

パーティション・キャッシュでは、クラスタ全体を対象とするキーベースのロック機能がサポートされるため、更新の欠落といった従来の問題を発生させることなく、クラスタ内のデータを変更できます。明示的ロックを行わずに実行された操作もすべてアトミックですが、キャッシュに格納された値がアトミック操作間で変更されない保証はありません。

キャッシュ・クライアント

パーティション・キャッシュ・サービスでは、クラスタの総記憶域には含まれないクラスタ・ノードの概念がサポートされます。記憶域が有効化されないノードはキャッシュ・クライアントと見なされます(<local-storage>サブ要素を参照)。

キャッシュ・パーティション

キャッシュ・エントリは複数の論理パーティションに均等にセグメント化されます(<partition-count>サブ要素を参照)。これらのパーティションの管理の役割は、特定のパーティション・サービス(<service-name>サブ要素を参照)を実行する、記憶域が有効化された(<local-storage>サブ要素を参照)クラスタ・ノード間で均等に分担されます。

キーの対応付け

デフォルトでは、各パーティションに割り当てられた特定のエントリ・セットはアプリケーションに対して透過的になります。場合によっては、特定の関連するエントリを同じクラスタ・ノード内に保持することが有用になります。key-associator(<key-associator>サブ要素を参照)を使用すると、関連するエントリを指定して、対応付けられたエントリをパーティション・キャッシュ・サービスで同じパーティション内(つまり、同じクラスタ・ノード上)に格納することができます。キーの対応付けは、アプリケーション・コード内からcom.tangosol.net.cache.KeyAssociationインタフェースを実装するキーを使用して指定することもできます。

キャッシュ記憶域(バッキング・マップ)

キャッシュの記憶域はbacking-map-schemeを使用して指定します(<backing-map-scheme>サブ要素を参照)。たとえば、バッキング・マップにlocal-schemeを使用するパーティション・キャッシュでは、記憶域が有効化されたクラスタ・ノードのメモリー内にキャッシュ・エントリが格納されます。

フェイルオーバー

フェイルオーバーを目的として、構成可能な数のキャッシュのバックアップ(<backup-count>サブ要素を参照)をクラスタ・ノード全体のbackup-storage(<backup-storage>サブ要素を参照)で管理できます。各バックアップもパーティションに分割されます。可能なかぎりバックアップ・パーティションはプライマリ・パーティションと同じ物理マシンには配置しません。クラスタ・ノードが突然クラスタから切断された場合は、そのパーティションの役割が自動的に既存のバックアップに再割当てされ、それらのパーティションの新しいバックアップが(リモート・ノード上に)作成されて、構成されたバックアップ数が維持されます。

パーティションの再分散

クラスタにおけるノードの参加および切断時には、バックグラウンドでパーティションの再分散が行われ、パーティション総数の管理の役割がクラスタ・ノード間で均等に分担されます。バックグラウンドでのパーティションの転送で消費される帯域幅の量は、transfer-threshold(<transfer-threshold>サブ要素を参照)によって制御されます。

要素

表D-17は、distributed-scheme要素で定義可能なサブ要素について説明しています。

表D-17 distributed-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<service-name>

オプション

このスキームで作成されたキャッシュを管理するサービス名を指定します。サービスは、tangosol-coherence.xmlディスクリプタの<services>要素で構成します。詳細は、付録H「オペレーション・コンフィギュレーションの要素」を参照してください。

<serializer>

オプション

パーティション・サービスがユーザー定義型のシリアライズおよびデシリアライズに使用する、com.tangosol.io.Serializer実装のクラス構成情報を指定します。

次の例では、デフォルトのcoherence-pof-config.xmlコンフィギュレーション・ファイルを使用して、ストリームに対するオブジェクトの書込みや読取りを行うConfigurablePofContextを構成しています。

<serializer>
  <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
</serializer>

<listener>

オプション

キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.MapListenerの実装を指定します。

<backing-map-scheme>

オプション

キャッシュ・サーバー内でのエントリの格納に使用するキャッシュのタイプを指定します。

バッキング・マップ・スキームの内容は、オプションの値で開始することも可能です。

<partitioned>: このオプション値は、バッキング・マップ自体がパーティション化されているかどうかを指定します。これはdistributed-scheme内でのみ考慮されます。『Oracle Coherenceスタート・ガイド』の「記憶域」を参照してください。

有効な子スキームは次のとおりです。

オーバーフロー・ベースのバッキング・マップを使用する際は、対応する<backup-storage>でオーバーフローを構成することが重要です(可能であれば、backing-mapと同じスキームを使用します)。構成例については、「オーバーフローが設定されたパーティション・キャッシュ」を参照してください。

<partition-count>

オプション

パーティション(分散)キャッシュを分割するパーティションの数を指定します。パーティション・キャッシュ・サービスを実行し、local-storage(<local-storage>サブ要素)オプションがtrueに設定されたメンバーのそれぞれが、公平な(偏りのない)数のパーティションを管理します。

パーティションの数は素数とし、いずれのパーティションのサイズも50MBを超えることのないように十分なパーティション数を指定する必要があります。

次に、サンプルのサービス記憶域サイズの適切なデフォルト設定を示します。

service storage     parition-count
_______________     ______________
   100M                  257
     1G                  509
    10G                 2039
    50G                 4093
   100G                 8191

最初の1,000個の素数のリストについては、次のサイトを参照してください。

http://primes.utm.edu/lists/

有効値は正の整数です。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定された値です。詳細は、「DistributedCacheサービスのパラメータ」のpartition-countパラメータを参照してください。

<key-associator>

オプション

キー間の対応付けを行い、対応付けられたキーの同一パーティションへの格納を可能にするクラスを指定します。この実装には、パラメータがゼロのpublicなコンストラクタが必要です。

<key-partitioning>

オプション

com.tangosol.net.partition.KeyPartitioningStrategyインタフェースを実装するクラスを指定します。このインタフェースは、パーティションにキーを割り当てる役割を果たします。この実装には、パラメータがゼロのpublicなコンストラクタが必要です。指定しない場合は、デフォルトのキー・パーティション化アルゴリズムが使用され、キーがパーティション間で均等にセグメント化されます。

<partition-listener>

オプション

com.tangosol.net.partition.PartitionListenerインタフェースを実装するクラスを指定します。

<backup-count>

オプション

パーティション・キャッシュ・サービスのうち、各保存単位のバックアップ・データをキャッシュに保持するメンバーの数を指定します。この値が0になっていると、異常終了した場合にキャッシュ内のデータの一部が失われます。この値がNになっていると、即座に終了したクラスタ・ノードの数がN以内の場合、キャッシュ・データが保持されます。サイズMのパーティション・キャッシュを維持する場合、クラスタ内の合計メモリー使用量はクラスタ・ノードの数に依存するのではなく、M*(N+1)となります。推奨値は0または1です。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたbackup-count値です。tangosol-coherence.xmlディスクリプタに指定されたbackup-countパラメータの値を参照してください。詳細は、「DistributedCacheサービスのパラメータ」を参照してください。

<backup-count-after- writebehind>

オプション

ライトビハインドを必要としないキャッシュ内の各保存単位のバックアップ・データ(つまり、クラスタ全体がシャットダウンしても失われにくいデータ)を保持する、パーティション・キャッシュ・サービスのメンバー数を指定します。具体的には、保存単位にライトビハインドが必要であると指定されている場合は、<backup-count>サブ要素に指定されたメンバー数でバックアップされ、ライトビハインドが必要ないと指定されている場合は、<backup-count-after-writebehind>要素に指定されたメンバー数でバックアップされます。

この要素の値は0に設定するか、要素の指定を完全に省略する必要があります。論理的な根拠として、このデータは別のデータ・ストアにバックアップされるため、書込み対象のライトビハインド・キューにデータが一時的に配置される場合を除いて、メモリー内でのバックアップは必要ありません。この設定は、ライトスルー・データや、CacheLoaderまたはCacheStoreによって別のデータ・ストアから再ロード可能なデータにも適用されることに注意してください。値0は、ライトビハインドが発生した場合に、そのデータのバックアップ・コピーが破棄されることを意味します。ただし、ライトビハインドが発生するまでは、<backup-count>の設定に従ってデータがバックアップされます。

推奨値は0です。それ以外の場合は、この要素の指定を完全に省略してください。

<backup-storage>

オプション

パーティション・キャッシュのバックアップ記憶域のタイプと構成を指定します。

<thread-count>

オプション

パーティション・キャッシュ・サービスで使用されるデーモン・スレッドの数を指定します。ゼロの場合、関連するタスクはすべて、サービス・スレッドで実行されます。有効な値は、正の整数またはゼロです。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたthread-count値です。詳細は、「DistributedCacheサービスのパラメータ」のlthread-countパラメータを参照してください。

<lease-granularity>

オプション

リース所有権の精度を指定します。リリース2.3以降で使用できます。有効な値は次のとおりです。

  • thread

  • member

値がthreadの場合、ロックはそのロックを取得したスレッドによって保持され、そのスレッドによってのみ解放されます。値がmemberの場合、ロックはクラスタ・ノードによって保持され、ロックを取得したクラスタ・ノード上で実行されるスレッドによって解放できます。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたlease-granularity値です。詳細は、「DistributedCacheサービスのパラメータ」のlease-granularityパラメータを参照してください。

<transfer-threshold>

オプション

プライマリ・バケット分散のしきい値をキロバイト単位で指定します。パーティション・キャッシュ・サービスに新しいノードが結合する場合、またはサービスのメンバーのいずれかの結合が解除される場合、残りのノードによって、バケット所有権の再分散タスクが実行されます。このプロセスでは、所有権情報とともに既存のデータの均衡化が再実行されます。このパラメータでは、データ転送通信で優先されるメッセージ・サイズを示します。この値を低く設定すると、分散プロセスの所要時間は長くなりますが、このアクティビティ実行中のネットワーク帯域幅の使用量は軽減されます。有効な値は、ゼロより大きな整数です。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたtransfer-threshold値です。詳細は、「DistributedCacheサービスのパラメータ」のtransfer-thresholdパラメータを参照してください。

<local-storage>

オプション

クラスタ・ノードをクラスタの記憶域として機能させる(つまり、パーティションを保持する)かどうかを指定します。無効化した場合、そのノードはキャッシュ・クライアントと見なされます。

通常、コンフィギュレーション・ファイル内ではこの値を未指定にしておき、システム・プロパティtangosol.coherence.distributed.localstorageを使用し、プロセスごとに設定します。これによって、キャッシュ・クライアントとキャッシュ・サーバーは、同じコンフィギュレーション・ディスクリプタを使用できます。

有効な値は、trueまたはfalseです。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたlocal-storage値です。詳細は、「DistributedCacheサービスのパラメータ」のlocal-storageパラメータを参照してください。

<autostart>

オプション

autostart要素は、キャッシュ・サーバー(つまり、com.tangosol.net.DefaultCacheServer)で使用することを目的としたものです。この要素は、このキャッシュ・スキームに関連付けられたキャッシュ・サービスをクラスタ・ノードで自動的に起動するかどうかを指定します。有効な値は、trueまたはfalseです。デフォルト値はfalseです。

<task-hung-threshold>

オプション

タスクが実行できる時間をミリ秒単位で指定します。この時間を超過すると、ハングしたと見なされます。注意: ポストされたタスクがまだ開始されていない場合は、ハングと見なされません。この属性は、スレッド・プールが使用されている(thread-countの値が正の)場合にのみ適用されます。有効な値は、正の整数またはゼロです(ゼロの場合は、デフォルト・タイムアウトがないことを示します)。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたtask-hung-threshold値です。詳細は、「DistributedCacheサービスのパラメータ」のtask-hung-thresholdパラメータを参照してください。

<task-timeout>

オプション

サービス・ワーカー・スレッド上で実行するリクエストのタイムアウト値をミリ秒単位で指定します。この属性は、スレッド・プールが使用されている(thread-countの値が正の)場合にのみ適用されます。ゼロを指定すると、デフォルトのservice-guardian<timeout-milliseconds>値が使用されます。有効な値は、負でない整数です。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定された値です。「DistributedCacheサービスのパラメータ」のtask-timeoutパラメータを参照してください。

<request-timeout>

オプション

レスポンスが来るまでクライアントが待機する最大時間を指定します。この時間を超過すると、元のリクエストが破棄されます。リクエスト時間はクライアント側で測定されるもので、対応するサーバー・ノードに対して実行のためのリクエストが送信されてからの経過時間に次の時間を加えたものです。

  • 実行側のノード(サーバー)にリクエストを配信するための所要時間

  • タスクが受信されてサービス・キューに入れられてから実行が開始されるまでの間隔

  • タスクの実行時間

  • クライアントに結果を返信するための所要時間

有効な値は、正の整数またはゼロです(ゼロの場合は、デフォルト・タイムアウトがないことを示します)。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定された値です。詳細は、「DistributedCacheサービスのパラメータ」のrequest-timeoutパラメータを参照してください。

<operation-bundling>

オプション

バンドル方針の構成情報を指定します。



external-scheme

使用場所: caching-schemesdistributed-schemereplicated-schemeoptimistic-schemenear-schemeversioned-near-schemeoverflow-schemeread-write-backing-map-schemeversioned-backing-map-scheme

説明

外部スキームを使用すると、JVMヒープ・ベースでないキャッシュを定義することで大容量の記憶域の使用が可能になります。様々な外部キャッシュの構成例は、「ローカル・キャッシュ(単一のJVMからアクセス可能)」を参照してください。

実装

このスキームは、次を使用して実装されます。

実装タイプは次の規則に従って選択されます。

プラッガブルなストレージ・マネージャ

外部スキームでは、プラッガブルなストア・マネージャを使用して、バイナリ・キー値のペアの格納と取得を行います。サポートされるストア・マネージャは次のとおりです。

サイズ制限のあるキャッシュ

このキャッシュはサイズ制限のあるキャッシュとして構成できます。これにより、キャッシュが最大許容サイズ(<high-units>サブ要素)に達すると、自動的に小さなサイズへのプルーニングが行われます。


注意:

ディスクベースのキャッシュに対するエビクションにはコストがかかる場合があります。その場合はpaged-external-schemeの使用を検討します。

エントリの有効期限

外部スキームでは、<expiry-delay>サブ要素の構成に従って、値の有効期間に基づいたエントリの自動失効がサポートされます。

永続性(長期記憶域)

外部キャッシュは一般に、大きなデータ・セットの一時記憶域(たとえば、overflow-schemeのバック層)として使用されます。ただし、一部の実装では非クラスタ・キャッシュの永続性がサポートされます。詳細は、bdb-store-manager<store-name>サブ要素およびlh-file-manager<manager-filename>サブ要素を参照してください。クラスタ化の永続性は、distributed-schemeread-write-backing-map-schemeを使用して構成します。

要素

表D-18は、external-scheme要素で定義可能なサブ要素について説明しています。

表D-18 external-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<class-name>

オプション

外部キャッシュのカスタム実装を指定します。カスタム実装では、次のいずれかのクラスを拡張する必要があります。

  • com.tangosol.net.cache.SerializationCache: サイズ制限のあるキャッシュ

  • com.tangosol.net.cache.SerializationMap: サイズ制限のないキャッシュ

  • com.tangosol.net.cache.SimpleSerializationMap: サイズ制限のないキャッシュ

また、スーパークラスと完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装する外部キャッシュのカスタム実装で使用されます。

<listener>

オプション

キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.util.MapListenerの実装を指定します。

<high-units>

オプション

キャッシュのサイズを制限するために使用されます。この要素には、プルーニングが開始されるまでキャッシュに配置できる単位の最大数を記述します。エントリは測定単位になります。この制限を超えると、キャッシュでプルーニング・プロセスが開始され、単位数がこの制限を下回るまで最低使用頻度のエントリが順番に削除されます。スキームのclass-name要素を使用すると、SerializationCacheにカスタム拡張を行って代替のエビクション・ポリシーを実装できます。有効な値は、正の整数またはゼロです。ゼロは制限がないことを示します。デフォルト値は0です。

<unit-calculator>

オプション

使用する単位換算カリキュレータのタイプを指定します。単位換算カリキュレータは、特定のオブジェクトのコスト(単位)の決定に使用されます。有効な値は次のとおりです。

  • FIXED: すべてのキャッシュ・オブジェクトに対して均等加重1を割り当てる単位換算カリキュレータ。

  • BINARY: オブジェクトに対して、そのオブジェクトをキャッシュに配置するために必要なメモリーのバイト数に相当する加重を割り当てる単位換算カリキュレータ。この場合は、パーティション・キャッシュ同様、対象オブジェクトがcom.tangosol.util.Binaryインスタンスであることが要求されます。詳細は、com.tangosol.net.cache.BinaryMemoryCalculatorを参照してください。

  • <class-scheme>: class-schemeとして指定されたカスタムの単位換算カリキュレータ。このスキームで指定されたクラスは、com/tangosol/net/cache/ConfigurableCacheMap.UnitCalculatorインタフェースを実装する必要があります。

この要素は、high-units要素が正の数値に設定されている場合にのみ使用されます。デフォルト値はFIXEDです。

<unit-factor>

オプション

unit-factor要素は、units、low-unitsおよびhigh-unitsの各プロパティの調整に使用する係数を指定します。たとえば、BINARY単位換算カリキュレータでは、係数1048576を使用してバイトをメガバイトに換算できます。

たとえば、BINARY単位換算カリキュレータでは、係数1048576を使用してバイトをメガバイトに換算できます。

注意: この要素は、units、low-unitsおよびhigh-unitsの各プロパティのタイプを32ビット値から64ビット値に変更することを回避するためにのみ導入されたものであり、high-units要素が正の数値に設定されている場合にのみ使用されます。Coherence 4ではこの要素が削除される見込みです。

有効な値は正の整数です。デフォルト値は1です。

<expiry-delay>

オプション

前回の更新からエントリが期限切れとなるまでの、キャッシュでエントリが保持される期間を指定します。期限切れになったエントリはアクセス不能となり削除されます。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、秒が単位として適用されます。値0は期限がないことを意味します。デフォルト値は0です。

<async-store-manager>

オプション

他のストレージ・マネージャに対して非同期のストレージ・マネージャ・ラッパーを使用するよう外部キャッシュを構成します。「プラッガブルなストレージ・マネージャ」を参照してください。

<custom-store-manager>

オプション

ストレージ・マネージャのカスタム実装を使用するよう外部キャッシュを構成します。

<bdb-store-manager>

オプション

キャッシュ記憶域にBerkeley Database JEのオンディスク・データベースを使用するよう外部キャッシュを構成します。

<lh-file-manager>

オプション

キャッシュ記憶域にCoherence LHのオンディスク・データベースを使用するよう外部キャッシュを構成します。

<nio-file-manager>

オプション

キャッシュ記憶域にメモリーマップ・ファイルを使用するよう外部キャッシュを構成します。

<nio-memory-manager>

オプション

キャッシュ記憶域にJVMヒープ外のメモリー領域を使用するよう外部キャッシュを構成します。



initiator-config

使用場所: remote-cache-schemeremote-invocation-scheme

説明

initiator-config要素は、プロトコル固有の接続イニシエータの構成情報を指定します。接続イニシエータを使用すると、Coherence*Extendクライアントからクラスタへの接続が有効になり、クライアントがクラスタに参加していなくても、クラスタの提供するサービスを使用できるようになります。

initiator-config要素には、プロトコル固有の接続イニシエータの構成要素を1つだけ記述します(jms-initiatorまたはtcp-initiator)。

要素

表D-19は、initiator-config要素で定義可能なサブ要素について説明しています。

表D-19 initiator-configのサブ要素

要素 必須/オプション 説明

<jms-initiator>

オプション

JMSを介してクラスタに接続する、接続イニシエータの構成情報を指定します。

<outgoing-message-handler>

オプション

クライアントからクラスタへの接続の切断を検出するために接続イニシエータで使用される構成情報を指定します。

<serializer>

オプション

接続イニシエータがユーザー定義型のシリアライズおよびデシリアライズに使用する、Serializer実装のクラス構成情報を指定します。次の例は、POFユーザー定義型のコンフィギュレーション・ファイルmy-pof-types.xmlを使用してユーザー定義型をPOFストリームに対してシリアライズおよびデシリアライズするConfigurablePofContextを構成しています。

<serializer>
  <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
  <init-params>
    <init-param>
      <param-type>string</param-type>
      <param-value>my-pof-types.xml</param-value>
    </init-param>
  </init-params>
</serializer>

<tcp-initiator>

オプション

TCP/IPを介してクラスタに接続する、接続イニシエータの構成情報を指定します。

<use-filters>

オプション

この接続イニシエータで使用する<filters>名のリストを記述します。たとえば、use-filterを次のように指定すると、すべてのネットワーク・メッセージに対してgzip圧縮がアクティブ化されるため、WANおよび低帯域幅ネットワークのパフォーマンスが大幅に向上します。

<use-filters>
    <filter-name>gzip</filter-name>
</use-filters>


init-param

使用場所: init-params

個別の初期化パラメータを定義します。

要素

表D-20は、init-param要素で定義可能なサブ要素について説明しています。

表D-20 init-paramのサブ要素

要素 必須/オプション 説明

<param-name>

オプション

初期化パラメータの名前を記述します。次に例を示します。

<class-name>com.mycompany.cache.CustomCacheLoader</class-name>
<init-params>
  <init-param>
    <param-name>sTableName</param-name>
    <param-value>EmployeeTable</param-value>
  </init-param>
  <init-param>
    <param-name>iMaxSize</param-name>
    <param-value>2000</param-value>
  </init-param>
</init-params>

<param-type>

オプション

初期化パラメータのJavaタイプを記述します。次の標準タイプがサポートされています。

  • java.lang.String(またはstring

  • java.lang.Boolean(またはboolean

  • java.lang.Integer(またはint

  • java.lang.Long(またはlong

  • java.lang.Double(またはdouble

  • java.math.BigDecimal

  • java.io.File

  • java.sql.Date

  • java.sql.Time

  • java.sql.Timestamp

次に例を示します。

<class-name>com.mycompany.cache.CustomCacheLoader</class-name>
<init-params>
  <init-param>
    <param-type>java.lang.String</param-type>
    <param-value>EmployeeTable</param-value>
  </init-param>
  <init-param>
    <param-type>int</param-type>
    <param-value>2000</param-value>
  </init-param>
</init-params>

使用可能なタイプのリストについては、付録E「キャッシュ・コンフィギュレーションのパラメータ・マクロ」を参照してください。

<param-value>

オプション

初期化パラメータの値を記述します。この値は、パラメータのJavaタイプに固有の形式にします。使用可能なマクロのリストについては、付録E「キャッシュ・コンフィギュレーションのパラメータ・マクロ」を参照してください。



init-params

使用場所: class-schemecache-mapping

説明

一連の初期化パラメータを、名前と値のペアで定義します。init-paramsの使用例については、「データベースのキャッシュ」を参照してください。

要素

表D-21は、init-params要素で定義可能なサブ要素について説明しています。

表D-21 init-paramsのサブ要素

要素 必須/オプション 説明

<init-param>

オプション

個別の初期化パラメータを定義します。



invocation-scheme

使用場所: caching-schemes

説明

起動サービスを定義します。起動サービスは、任意の数のクラスタ・ノード上でカスタム操作をパラレルに実行するために使用します。詳細は、com.tangosol.net.InvocationService APIを参照してください。

要素

次の表は、invocation-scheme要素で定義可能なサブ要素について説明しています。

表D-22 invocation-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<service-name>

オプション

このスキームからの起動を管理するサービス名を指定します。

<serializer>

オプション

Invocationサービスがユーザー定義型のシリアライズおよびデシリアライズに使用する、com.tangosol.io.Serializer実装のクラス構成情報を指定します。次の例では、デフォルトのcoherence-pof-types.xmlコンフィギュレーション・ファイルを使用して、ストリームに対するオブジェクトの書込みや読取りを行うConfigurablePofContextを構成しています。

<serializer>
  <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
</serializer>

サービスは、tangosol-coherence.xmlディスクリプタの<services>要素で構成します。詳細は、付録H「オペレーション・コンフィギュレーションの要素」を参照してください。

<thread-count>

オプション

起動サービスで使用されるデーモン・スレッドの数を指定します。ゼロの場合、関連するタスクはすべて、サービス・スレッドで実行されます。有効な値は、正の整数またはゼロです。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたthread-count値です。「InvocationServiceのパラメータ」のthread-countパラメータを参照してください。

<autostart>

オプション

autostart要素は、キャッシュ・サーバー(つまり、com.tangosol.net.DefaultCacheServer)で使用することを目的としたものです。この要素は、このサービスをクラスタ・ノードで自動的に起動するかどうかを指定します。有効な値は、trueまたはfalseです。デフォルト値はfalseです。

<task-hung-threshold>

オプション

タスクが実行できる時間をミリ秒単位で指定します。この時間を超過すると、ハングしたと見なされます。注意: ポストされたタスクがまだ開始されていない場合は、ハングと見なされません。この属性は、スレッド・プールが使用されている(thread-countの値が正の)場合にのみ適用されます。有効な値は、正の整数またはゼロです(ゼロの場合は、デフォルト・タイムアウトがないことを示します)。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたtask-hung-threshold値です。「InvocationServiceのパラメータ」のtask-hung-thresholdパラメータを参照してください。

<task-timeout>

オプション

タイムアウト可能なタスク(たとえば、com.tangosol.net.PriorityTaskインタフェースの実装)のデフォルト・タイムアウト値をミリ秒単位で指定します。ただし、タスク実行のタイムアウト値は明示的に指定しません。タスク実行時間はサーバー側で測定され、開始されるまでサービス・バックログ・キューで待機するための所要時間は含まれません。この属性は、スレッド・プールが使用されている(thread-countの値が正の)場合にのみ適用されます。ゼロを指定すると、デフォルトのservice-guardian<timeout-milliseconds>値が使用されます。有効な値は、負でない整数です。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたtask-timeout値です。「InvocationServiceのパラメータ」のtask-timeoutパラメータを参照してください。

<request-timeout>

オプション

タイムアウト可能なリクエスト(たとえば、com.tangosol.net.PriorityTaskインタフェースの実装)のデフォルト・タイムアウト値をミリ秒単位で指定します。ただし、リクエストのタイムアウト値は明示的に指定しません。リクエスト時間はクライアント側で測定されるもので、対応するサーバー・ノードに対して実行のためのリクエストが送信されてからの経過時間に次の時間を加えたものです。

(1)実行側のノード(サーバー)にリクエストを配信するための所要時間(2)タスクが受信されてサービス・キューに入れられてから実行が開始されるまでの間隔(3)タスクの実行時間(4)クライアントに結果を返信するための所要時間

有効な値は、正の整数またはゼロです(ゼロの場合は、デフォルト・タイムアウトがないことを示します)。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたrequest-timeout値です。「InvocationServiceのパラメータ」のrequest-timeoutパラメータを参照してください。



invocation-service-proxy

使用場所: proxy-config

説明

invocation-service-proxy要素には、プロキシ・サービスによって管理される起動サービス・プロキシの構成情報を記述します。

要素

表D-23は、invocation-service-proxy要素で定義可能なサブ要素について説明しています。

表D-23 invocation-service-proxyのサブ要素

要素 必須/オプション 説明

<enabled>

オプション

起動サービス・プロキシが有効化されているかどうかを指定します。無効化されている場合、クライアントはプロキシ・サービスJVMでInvocableオブジェクトを実行できません。有効な値は、trueまたはfalseです。デフォルト値はtrueです。



jms-acceptor


注意:

Coherence*Extend-JMSのサポートは非推奨になりました。

使用場所: acceptor-config

説明

jms-acceptor要素は、Coherence*ExtendクライアントからのJMSを介した接続を受け入れる接続アクセプタの構成情報を指定します。詳細および構成例については、第17章「Coherence*Extendの構成と使用」を参照してください。

要素

表D-24は、jms-acceptor要素で定義可能なサブ要素について説明しています。

表D-24 jms-acceptorのサブ要素

要素 必須/オプション 説明

<queue-connection-factory-name>

必須

接続アクセプタで使用されるJMS QueueConnectionFactoryのJNDI名を指定します。

<queue-name>

必須

接続アクセプタで使用されるJMS QueueのJNDI名を指定します。



jms-initiator


注意:

Coherence*Extend-JMSのサポートは非推奨になりました。

使用場所: initiator-config

説明

jms-initiator要素は、Coherence*Extendクライアントからリモート・クラスタへのJMSを介した接続を有効にする接続イニシエータの構成情報を指定します。詳細および構成例については、第17章「Coherence*Extendの構成と使用」を参照してください。

要素

次の表は、jms-initiator要素で定義可能なサブ要素について説明しています。

表D-25 jms-initiatorのサブ要素

要素 必須/オプション 説明

<queue-connection-factory-name>

必須

接続イニシエータで使用されるJMS QueueConnectionFactoryのJNDI名を指定します。

<queue-name>

必須

接続イニシエータで使用されるJMS QueueのJNDI名を指定します。

<connect-timeout>

オプション

接続アクセプタとの接続を確立するまで待機する最大時間を指定します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルト値は無限のタイムアウトです。



key-associator

使用場所: distributed-scheme

説明

キーの対応付けを決定するcom.tangosol.net.partition.KeyAssociatorの実装を指定します。これにより、関連するキーを同じパーティションに格納できます。

また、com.tangosol.net.cache.KeyAssociationインタフェースを実装することにより、キャッシュのキーで対応付けを管理することもできます。

要素

表D-26は、key-associator要素で定義可能なサブ要素について説明しています。

表D-26 key-associatorのサブ要素

要素 必須/オプション 説明

<class-name>

必須

com.tangosol.net.partition.KeyAssociatorインタフェースを実装するクラスの名前。この実装には、パラメータがゼロのpublicなコンストラクタが必要です。デフォルト値は、tangosol.coherence.xmlディスクリプタに指定されたkey-associator/class-nameパラメータの値です。詳細は、「DistributedCacheサービスのパラメータ」を参照してください。



key-partitioning

使用場所: distributed-scheme

説明

キーを格納するパーティションを決定するために使用されるcom.tangosol.net.partition.KeyPartitioningStrategyの実装を指定します。

要素

表D-27は、key-partitioning要素で定義可能なサブ要素について説明しています。

表D-27 key-partitioningのサブ要素

要素 必須/オプション 説明

<class-name>

必須

com.tangosol.net.partition.KeyPartitioningStrategyインタフェースを実装するクラスの名前。この実装には、パラメータがゼロのpublicなコンストラクタが必要です。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたkey-partitioning/class-nameパラメータの値です。詳細は、「DistributedCacheサービスのパラメータ」を参照してください。



lh-file-manager

使用場所: external-schemepaged-external-schemeasync-store-manager

説明

記憶域にCoherence LHのオンディスク埋込みデータベースを使用するストア・マネージャを構成します。LHベースのストア構成の例は、「オンディスク永続キャッシュ」および「ディスク・ベースのオーバーフローが設定されたインメモリー・キャッシュ」を参照してください。

実装

com.tangosol.io.lh.LHBinaryStoreManagerクラスによって実装されます。このクラスで作成されるBinaryStoreオブジェクトは、javadoc:com.tangosol.io.lh.LHBinaryStoreのインスタンスです。

要素

表D-28は、lh-file-manager要素で定義可能なサブ要素について説明しています。

表D-28 lh-file-managerのサブ要素

要素 必須/オプション 説明

<class-name>

オプション

LH BinaryStoreManagerのカスタム実装を指定します。カスタム実装では、com.tangosol.io.lh.LHBinaryStoreManagerクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装するLHファイル・マネージャのカスタム実装で使用されます。

<directory>

オプション

LHファイル・マネージャがファイルを格納するルート・ディレクトリのパス名を指定します。指定しない場合、または存在しないディレクトリを指定した場合には、デフォルトの場所にある一時ファイルが使用されます。

<file-name>

オプション

LHファイル・マネージャがデータを格納する非一時(永続)ファイルの名前を指定します。このパラメータを指定すると、lh-file-managerでは非一時データベース・インスタンスが使用されます。このパラメータは、非一時ファイルのキャッシュ・ローダーでバッキングされるローカル・キャッシュを対象としてのみ使用されるもので、これにより、ローカル・キャッシュには起動時にディスク・ファイルからデータが事前移入されるようになります。指定する際は、付録E「キャッシュ・コンフィギュレーションのパラメータ・マクロ」で説明されている{cache-name}マクロを使用することをお薦めします。通常このパラメータは未指定のままにして、一時記憶域が使用されることを示す必要があります。



listener

使用場所: local-schemeexternal-schemepaged-external-schemedistributed-schemereplicated-schemeoptimistic-schemenear-schemeversioned-near-schemeoverflow-schemeread-write-backing-map-schemeversioned-backing-map-scheme

説明

Listener要素は、キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.util.MapListenerの実装を指定します。

要素

次の表は、listener要素で定義可能なサブ要素について説明しています。

表D-29 listenerのサブ要素

要素 必須/オプション 説明

<class-scheme>

必須

使用するlistener実装の完全なクラス名を指定します。指定したクラスは、com.tangosol.util.MapListenerインタフェースを実装する必要があります。



local-scheme

使用場所: caching-schemesdistributed-schemereplicated-schemeoptimistic-schemenear-schemeversioned-near-schemeoverflow-schemeread-write-backing-map-schemeversioned-backing-map-scheme

説明

ローカル・キャッシュ・スキームは、インメモリー・ローカル・キャッシュを定義します。ローカル・キャッシュは一般に、他のキャッシュ・スキーム内にネストされます(near-schemeのフロント層としてなど)。様々なローカル・キャッシュの構成例は、「パーティション・キャッシュのローカル・キャッシュ(ニア・キャッシュ)」を参照してください。

実装

ローカル・キャッシュは、com.tangosol.net.cache.LocalCacheクラスによって実装されます。

外部ストアのキャッシュ

ローカル・キャッシュは外部のキャッシュ・ストアでバッキングできます(「cachestore-scheme」を参照)。キャッシュ・ミスでは、バックエンドのストアまでリードスルーしてデータが取得されます。書込み可能なストアが提供されている場合は、キャッシュへの書込みがキャッシュ・ストアにも同様に伝播します。キャッシュ・ストアに対する読取り/書込みアクセスの最適化については、「read-write-backing-map-scheme」を参照してください。

サイズ制限のあるキャッシュ

このキャッシュはサイズ制限のあるキャッシュとして構成できます。これにより、キャッシュが最大許容サイズ(<allowable-size>サブ要素を参照)に達すると、エビクション・ポリシー(<eviction-policy>サブ要素を参照)に従って削除対象エントリが選択され、指定されたより小さなサイズ(<low-units>サブ要素を参照)へのプルーニングが行われます。エントリとサイズの制限は、スキームの単位換算カリキュレータ(<unit-calculator>サブ要素を参照)によって計算された単位で測定されます。

エントリの有効期限

ローカル・キャッシュでは、expiry-delay(<expiry-delay>サブ要素を参照)の構成に従って、値の有効期間に基づいたエントリの自動失効がサポートされます。

要素

表D-30は、local-scheme要素で定義可能なサブ要素について説明しています。

表D-30 local-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<service-name>

オプション

このスキームで作成されたキャッシュを管理するサービス名を指定します。サービスは、tangosol-coherence.xmlディスクリプタの<services>要素で構成します。詳細は、付録H「オペレーション・コンフィギュレーションの要素」を参照してください。

<class-name>

オプション

ローカル・キャッシュのカスタム実装を指定します。カスタム実装では、com.tangosol.net.cache.LocalCacheクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装するローカル・キャッシュのカスタム実装で使用されます。

<listener>

オプション

キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.util.MapListenerの実装を指定します。

<cachestore-scheme>

オプション

キャッシュの対象となるストアを指定します。指定しない場合、キャッシュ・データはメモリー内にのみ配置され、そのキャッシュに対して実行された操作のみを反映します。

<eviction-policy>

オプション

使用するエビクション・ポリシーのタイプを指定します。有効な値は次のとおりです。

  • LRU: 最低使用頻度(Least Recently Used)によるエビクション・ポリシーでは、最後にアクセスされた時間を基準として削除対象エントリが選択されます。アクセスされていない期間が最も長いエントリから順番に削除されます。

  • LFU: 最低アクセス頻度(Least Frequently Used)によるエビクション・ポリシーでは、アクセス頻度を基準として削除対象エントリが選択されます。アクセス頻度が最も低いエントリから順番に削除されます。

  • HYBRID: ハイブリッド・エビクション・ポリシーでは、アクセス頻度およびアクセス時間の組合せ(加重スコア)を基準として削除対象エントリが選択されます。アクセス頻度が低く、アクセスされていない期間が最も長いエントリから順番に削除されます。

  • <class-scheme>: class-schemeとして指定されたカスタム・エビクション・ポリシー。このスキームで指定されたクラスは、com/tangosol/net/cache/ConfigurableCacheMap.EvictionPolicyインタフェースを実装する必要があります。

デフォルト値はHYBRIDです。

<high-units>

オプション

キャッシュのサイズを制限するために使用されます。この要素には、プルーニングが開始されるまでキャッシュに配置できる単位の最大数を記述します。別のunit-calculator(<unit-calculator>サブ要素を参照)によってオーバーライドされないかぎり、エントリは測定単位になります。この制限を超えると、キャッシュでプルーニング・プロセスが開始され、low-unitsサイズ(<low-units>サブ要素を参照)に達するまでエビクション・ポリシーに従ってエントリが順番に削除されます。有効な値は、正の整数またはゼロです。ゼロは制限がないことを示します。デフォルト値は0です。

<low-units>

オプション

プルーニングを実行する際にどこまでキャッシュを小さくするかを示す単位数を記述します。別のunit-calculator(<unit-calculator>サブ要素を参照)によってオーバーライドされないかぎり、エントリは測定単位になります。プルーニングの実行時は、このサイズに達するまでエビクション・ポリシーに従ってエントリが順番に削除されていきます。有効な値は、正の整数またはゼロです。ゼロはデフォルト値を意味します。デフォルト値はhigh-units設定の75%です(つまり、high-unitsの設定が1000である場合、この値は750になります)。

<unit-calculator>

オプション

使用する単位換算カリキュレータのタイプを指定します。単位換算カリキュレータは、特定のオブジェクトのコスト(単位)の決定に使用されます。有効な値は次のとおりです。

  • FIXED: すべてのキャッシュ・オブジェクトに対して均等加重1を割り当てる単位換算カリキュレータ。

  • BINARY: オブジェクトに対して、そのオブジェクトをキャッシュに配置するために必要なメモリーのバイト数に相当する加重を割り当てる単位換算カリキュレータ。この場合は、パーティション・キャッシュ同様、対象オブジェクトがcom.tangosol.util.Binaryインスタンスであることが要求されます。詳細は、com.tangosol.net.cache.BinaryMemoryCalculatorを参照してください。

  • <class-scheme>: class-schemeとして指定されたカスタムの単位換算カリキュレータ。このスキームで指定されたクラスは、com/tangosol/net/cache/ConfigurableCacheMap.UnitCalculatorインタフェースを実装する必要があります。

この要素は、high-units要素が正の数値に設定されている場合にのみ使用されます。デフォルト値はFIXEDです。

<unit-factor>

オプション

unit-factor要素は、units、low-unitsおよびhigh-unitsの各プロパティの調整に使用する係数を指定します。たとえば、BINARY単位換算カリキュレータでは、係数1048576を使用してバイトをメガバイトに換算できます。

たとえば、BINARY単位換算カリキュレータでは、係数1048576を使用してバイトをメガバイトに換算できます。

注意: この要素は、units、low-unitsおよびhigh-unitsの各プロパティのタイプを32ビット値から64ビット値に変更することを回避するためにのみ導入されたものであり、high-units要素が正の数値に設定されている場合にのみ使用されます。Coherence 4ではこの要素が削除される見込みです。

有効な値は正の整数です。デフォルト値は1です。

<unit-factor>

オプション

unit-factor要素は、units、low-unitsおよびhigh-unitsの各プロパティの調整に使用する係数を指定します。たとえば、BINARY単位換算カリキュレータでは、係数1048576を使用してバイトをメガバイトに換算できます。

有効な値は正の整数です。デフォルト値は1です。

注意: この要素は、units、low-unitsおよびhigh-unitsの各プロパティのタイプを32ビット値から64ビット値に変更することを回避するためにのみ導入されました。

<expiry-delay>

オプション

前回の更新からエントリが期限切れとマークされるまでの、キャッシュでエントリが保持される期間を指定します。期限切れエントリの読取りを試行すると、対象エントリが構成済のキャッシュ・ストア(<cachestore-scheme>を参照)からリロードされます。期限切れの値は、flush-delay(<flush-delay>サブ要素を参照)に基づいてキャッシュから定期的に破棄されます。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、秒が単位として適用されます。値0は期限がないことを意味します。デフォルト値は0です。

<flush-delay>

オプション

定期的なキャッシュのフラッシュを行う時間間隔を指定します。これにより、期限切れのエントリがキャッシュから破棄されてリソースが解放されます。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、秒が単位として適用されます。<expiry-delay>が有効化されている場合、デフォルトのflush-delayは1mです。無効化されている場合は0がデフォルト設定され、自動フラッシュは無効になります。



near-scheme

使用場所: caching-schemes

説明

near-schemeは、フロント層(<front-scheme>サブ要素を参照)とバック層(<back-scheme>サブ要素を参照)で構成される2層キャッシュを定義します。フロント層にはバック層のサブセットがキャッシュされます。一般にフロント層は高速でサイズ制限があり、バック層は低速ですが大容量になります。一般的なデプロイでは、フロント層にはlocal-schemeが、バック層にはdistributed-schemeが使用されます。その結果、大規模なパーティション・キャッシュの一部がローカル・インメモリーにキャッシュされ、非常に高速な読取りアクセスが実現されます。ニア・キャッシュの詳細は、付録B「Coherenceのキャッシュのタイプ」を参照してください。ニア・キャッシュの構成例については、「パーティション・キャッシュのローカル・キャッシュ(ニア・キャッシュ)」を参照してください。

実装

ニア・スキームは、com.tangosol.net.cache.NearCacheクラスによって実装されます。

フロント層の無効化

無効化方針(<invalidation-strategy>サブ要素を参照)を指定することで、ニア・キャッシュのフロント層およびバック層の同期を保持するために使用される方針を定義します。この方針に従って、バック層で発生した特定のイベントをリスニングしてニア・キャッシュのフロント部分を自動的に更新(または無効化)するようニア・キャッシュが構成されます。

要素

表D-31は、near-scheme要素で定義可能なサブ要素について説明しています。

表D-31 near-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<class-name>

オプション

ニア・キャッシュのカスタム実装を指定します。カスタム実装では、com.tangosol.net.cache.NearCacheクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装するニア・キャッシュのカスタム実装で使用されます。

<listener>

オプション

キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.util.MapListenerの実装を指定します。

<front-scheme>

必須

フロント層キャッシュの作成に使用するcache-schemeを指定します。有効な値は次のとおりです。

front-schemeのエビクション・ポリシーによって、ローカルにキャッシュされるエントリが定義されます。次に例を示します。

<front-scheme>
  <local-scheme>
    <eviction-policy>HYBRID</eviction-policy>
    <high-units>1000</high-units>
  </local-scheme>
</front-scheme>

<back-scheme>

必須

バック層キャッシュの作成に使用するcache-schemeを指定します。有効な値は次のとおりです。

次に例を示します。

<back-scheme>
  <distributed-scheme>
    <scheme-ref>default-distributed</scheme-ref>
  </distributed-scheme>
</back-scheme>

<invalidation-strategy>

オプション

フロント層およびバック層の同期を保持するために使用される方針を指定します。詳細は、com.tangosol.net.cache.NearCacheを参照してください。有効な値は次のとおりです。

  • none: キャッシュに対して無効化イベントをリスニングしないよう指示します。この方針は、現在値とはかぎらないデータの使用がビジネス要件で許可されており、パフォーマンスおよびスケーラビリティがともに低い場合に最適です。データの鮮度は十分に簡潔なエビクション・ポリシーを使用することで保証されます。最悪の場合は、パフォーマンスが標準の分散キャッシュと同程度になります。

  • present: ニア・キャッシュに対して、フロント・マップに現存するアイテムに関連したバック・マップ・イベントのみをリスニングするよう指示します。この方針は、クラスタ・ノードにスティッキーなデータ・アクセス・パターン(スティッキーなロード・バランサによるHTTPセッション管理など)がある場合に最適です。

  • all: ニア・キャッシュに対してすべてのバック・マップ・イベントをリスニングするよう指示します。この方針は、読取り頻度の高いアクセス・パターンにおいて、各クラスタ・メンバーのフロント・キャッシュ間に大量のオーバーラップがある場合に最適です。

  • auto: ニア・キャッシュに対して、present方針とall方針をキャッシュ統計に基づいて自動的に切り替えるよう指示します。

デフォルト値はautoです。

<autostart>

オプション

autostart要素は、キャッシュ・サーバー(つまり、com.tangosol.net.DefaultCacheServer)で使用することを目的としたものです。この要素は、このキャッシュ・スキームに関連付けられたキャッシュ・サービスをクラスタ・ノードで自動的に起動するかどうかを指定します。有効な値は、trueまたはfalseです。デフォルト値はfalseです。



nio-file-manager

使用場所: external-schemepaged-external-schemeasync-store-manager

説明

記憶域にメモリーマップ・ファイルを使用する外部ストアを構成します。

実装

このストア・マネージャは、com.tangosol.io.nio.MappedStoreManagerクラスによって実装されます。このクラスで作成されるBinaryStoreオブジェクトは、com.tangosol.io.nio.BinaryMapStoreのインスタンスです。

要素

表D-32は、nio-file-manager要素で定義可能なサブ要素について説明しています。

表D-32 nio-file-managerのサブ要素

要素 必須/オプション 説明

<class-name>

オプション

ローカル・キャッシュのカスタム実装を指定します。カスタム実装では、com.tangosol.io.nio.MappedStoreManagerクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装するnio-file-managerのカスタム実装で使用されます。

<initial-size>

オプション

バッファの初期サイズをメガバイト単位で指定します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]?

前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。

  • Kまたはk(キロ、210)

  • Mまたはm(メガ、220)

  • Gまたはg(ギガ、230)

値に係数が含まれていない場合は、Mが係数として適用されます。有効な値は、1からInteger.MAX_VALUE - 1023(つまり、2、147、482、624バイト)の間の正の整数です。デフォルト値は1MBです。

<maximum-size>

オプション

バッファの最大サイズをバイト単位で指定します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]?

前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。

  • Kまたはk(キロ、210)

  • Mまたはm(メガ、220)

  • Gまたはg(ギガ、230)

値に係数が含まれていない場合は、Mが係数として適用されます。有効な値は、1からInteger.MAX_VALUE - 1023(つまり、2、147、482、624バイト)の間の正の整数です。デフォルト値は1024MBです。

<directory>

オプション

このマネージャがファイルを格納するルート・ディレクトリのパス名を指定します。指定しない場合、または存在しないディレクトリを指定した場合には、デフォルトの場所にある一時ファイルが使用されます。



nio-memory-manager

使用場所: external-schemepaged-external-schemeasync-store-manager

説明

記憶域にJVMヒープ外のメモリー領域を使用するストア・マネージャを構成します。つまり、Javaヒープ・サイズには影響せず、アプリケーションの一時停止の原因となり得る関連したJVMガベージ・コレクションのパフォーマンスにも影響しない構成です。NIOキャッシュの構成例については、「NIOインメモリー・キャッシュ」を参照してください。


注意:

NIOバッファの合計が64MBを超える場合、JVMによっては(1.4以降)コマンドライン・パラメータを使用する必要があります。例: -XX:MaxDirectMemorySize=512M

実装

com.tangosol.io.nio.DirectStoreManagerクラスによって実装されます。このクラスで作成されるBinaryStoreオブジェクトは、com.tangosol.io.nio.BinaryMapStoreのインスタンスです。

要素

表D-33は、nio-memory-manager要素で定義可能なサブ要素について説明しています。

表D-33 nio-memory-managerのサブ要素

要素 必須/オプション 説明

<class-name>

オプション

ローカル・キャッシュのカスタム実装を指定します。カスタム実装では、com.tangosol.io.nio.DirectStoreManagerクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装するnio-memory-managerのカスタム実装で使用されます。

<initial-size>

オプション

バッファの初期サイズをバイト単位で指定します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]?

前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。

  • Kまたはk(キロ、210)

  • Mまたはm(メガ、220)

  • Gまたはg(ギガ、230)

値に係数が含まれていない場合は、Mが係数として適用されます。有効な値は、1からInteger.MAX_VALUE - 1023(つまり、2、147、482、624バイト)の間の正の整数です。デフォルト値は1MBです。

<maximum-size>

オプション

バッファの最大サイズをバイト単位で指定します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]?

前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。

  • Kまたはk(キロ、210)

  • Mまたはm(メガ、220)

  • Gまたはg(ギガ、230)

値に係数が含まれていない場合は、Mが係数として適用されます。有効な値は、1からInteger.MAX_VALUE - 1023(つまり、2、147、482、624バイト)の間の正の整数です。デフォルト値は1024MBです。



operation-bundling

使用場所: cachestore-schemedistributed-schemeremote-cache-scheme

説明

operation-bundling要素は、特定のバンドル方針の構成情報を指定します。

バンドルとは、複数の個別の操作をいくつかの束(バンドル)にまとめるプロセスです。これは次のような場合に役立ちます。

実装の詳細は、com.tangosol.net.cache.AbstractBundlerを参照してください。

要素

表D-34は、operation-bundling要素のサブ要素について説明しています。

表D-34 operation-bundlingのサブ要素

要素 必須/オプション 説明

<bundle-config>

必須

1つ以上のバンドル可能な操作を記述します。



optimistic-scheme

使用場所: caching-schemesnear-schemeversioned-near-schemeoverflow-scheme

オプティミスティック・スキームは、サービスを実行するすべてのクラスタ・ノードに自身の全データを完全にレプリケートするキャッシュを定義します(<service-name>サブ要素を参照)。オプティミスティック・キャッシュの詳細は、付録B「Coherenceのキャッシュのタイプ」を参照してください。

オプティミスティック・ロック

replicated-schemedistributed-schemeのキャッシュと異なり、オプティミスティック・キャッシュでは並行処理制御(ロック)がサポートされません。エントリに対する個々の操作はアトミックですが、キャッシュに格納された値がアトミック操作間で変更されない保証はありません。並行処理制御がないため、オプティミスティック・キャッシュでは非常に高速な書込み操作が実現されます。

キャッシュ記憶域(バッキング・マップ)

キャッシュの記憶域はbacking-map-schemeを使用して指定します(<backing-map-scheme>サブ要素を参照)。たとえば、バッキング・マップにlocal-schemeを使用するオプティミスティック・キャッシュでは、キャッシュ・エントリがメモリー内に格納されます。

要素

表D-35は、optimistic-scheme要素で定義可能なサブ要素について説明しています。

表D-35 optimistic-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<service-name>

オプション

このスキームで作成されたキャッシュを管理するサービス名を指定します。サービスは、tangosol-coherence.xml<services>パラメータで構成します。詳細は、付録H「オペレーション・コンフィギュレーションの要素」を参照してください。

<listener>

オプション

キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.util.MapListenerの実装を指定します。

<backing-map-scheme>

オプション

キャッシュ・サーバー内でのエントリの格納に使用するキャッシュのタイプを指定します。有効な値は次のとおりです。

キャッシュの一貫性を確保するため、オプティミスティック・キャッシュのバッキング・マップでは、キャッシュ・エントリのロードにリードスルー・パターンを使用しません。キャッシュ・サービスの外部でキャッシュアサイド・パターンを使用するか、クラスタ・キャッシュのリードスルーをサポートするdistributed-schemeに切り替えます。

<autostart>

オプション

autostart要素は、キャッシュ・サーバー(つまり、com.tangosol.net.DefaultCacheServer)で使用することを目的としたものです。この要素は、このキャッシュ・スキームに関連付けられたキャッシュ・サービスをクラスタ・ノードで自動的に起動するかどうかを指定します。有効な値は、trueまたはfalseです。デフォルト値はfalseです。



outgoing-message-handler

使用場所: acceptor-configinitiator-config

説明

outgoing-message-handlerは、クライアントからクラスタへの接続の切断を検出するために使用される構成情報を指定します。コネクションレスのプロトコルを使用する接続イニシエータおよび接続アクセプタでは、この情報は、切断された接続に割り当てられていたリソースを前もって検出および解放するために必要です。この情報は、接続指向のイニシエータおよびアクセプタでも、接続の切断を検出するための追加メカニズムとして使用できます。

要素

表D-36は、outgoing-message-handler要素で定義可能なサブ要素について説明しています。

表D-36 outgoing-message-handlerのサブ要素

要素 必須/オプション 説明

<heartbeat-interval>

オプション

pingリクエストの間隔を指定します。pingリクエストは、接続の整合性を確保するために使用します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、ミリ秒が単位として適用されます。値0はpingリクエストがないことを意味します。デフォルト値は0です。

<heartbeat-timeout>

オプション

pingリクエストへのレスポンスに対する最大待機時間を指定します。この時間を超過すると、基礎となる接続が使用不能と宣言されます。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルト値は、request-timeout要素の値です。

<request-timeout>

オプション

レスポンス・メッセージに対する最大待機時間を指定します。この時間を超過すると、基礎となる接続が使用不能と宣言されます。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルト値は無限のタイムアウトです。



overflow-scheme

使用場所: caching-schemesdistributed-schemereplicated-schemeoptimistic-schemeread-write-backing-map-schemeversioned-backing-map-scheme

説明

overflow-schemeは、高速でサイズ制限のあるフロント層キャッシュと、低速でより大容量のバック層キャッシュで構成される2層キャッシュを定義します。サイズ制限のあるフロント層がいっぱいになると、削除されたエントリが透過的にバック層に移動されます。キャッシュ・ミス発生時は、エントリがバック層からフロント層に移動することがあります。一般的なデプロイでは、フロント層にはlocal-schemeが、バック層にはexternal-schemeが使用され、JVMヒープよりも容量の大きい高速のローカル・キャッシュが実現されます。このようなデプロイメントでは、local-scheme要素のhigh-unitsおよびeviction-policyによってフロント・キャッシュからバック・キャッシュへのエントリの転送(削除)が制御されます。


注意:

標準のキャッシュ記憶域におけるオーバーフローに依存することはお薦めしません。これは、構成された容量を記憶域所要量が一時的に超えた場合に、削除処理に付随するデータの損失を回避する目的でのみ使用してください。一般に、オーバーフローのオンディスク記憶域は空のままにします。

実装

com.tangosol.net.cache.OverflowMapまたはcom.tangosol.net.cache.SimpleOverflowMapのいずれかで実装されます。詳細は、expiry-enabledを参照してください。

エントリの有効期限

オーバーフローでは、expiry-delay(<expiry-delay>サブ要素を参照)の構成に従って、値の有効期間に基づいたエントリの自動失効がサポートされます。

要素

表D-37は、overflow-scheme要素で定義可能なサブ要素について説明しています。

表D-37 overflow-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<class-name>

オプション

オーバーフロー・キャッシュのカスタム実装を指定します。カスタム実装は、com.tangosol.net.cache.OverflowMapクラスまたはcom.tangosol.net.cache.SimpleOverflowMapクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装するオーバーフロー・キャッシュのカスタム実装で使用されます。

<listener>

オプション

キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.util.MapListenerの実装を指定します。

<front-scheme>

必須

フロント層キャッシュの作成に使用するcache-schemeを指定します。有効な値は次のとおりです。

front-schemeのエビクション・ポリシーによって、フロント層およびバック層に格納するエントリとアイテムが定義されます。次に例を示します。

<front-scheme>
  <local-scheme>
    <eviction-policy>HYBRID</eviction-policy>
    <high-units>1000</high-units>
  </local-scheme>
</front-scheme>

<back-scheme>

必須

バック層キャッシュの作成に使用するcache-schemeを指定します。有効な値は次のとおりです。

次に例を示します。

<back-scheme>
  <external-scheme>
    <lh-file-manager/>
  </external-scheme>
</back-scheme>

<miss-cache-scheme>

オプション

キャッシュ・ミス情報を保持するcache-schemeを指定します。expiry-enabled(<expiry-enabled>サブ要素を参照)が指定されていないキャッシュでは、miss-cacheを使用して、フロント層およびバック層の両方で、キャッシュ・ミスの発生したキーが追跡されます。いずれの層にもキーが存在しないという情報により、速度が遅くなるバック層への問合せを回避できるため、一部の操作では実行速度が向上します。サイズが制限されたスキームを使用すると、追跡するミスの数を制御できます。値を指定しないと、キャッシュ・ミスのデータは保持されません。有効な値は次のとおりです。

<expiry-enabled>

オプション

com.tangosol.net.cache.CacheMap APIの規定に従って、自動失効データのサポートを有効にします。有効化すると、overflow-schemeの実装に、com.tangosol.net.cache.SimpleOverflowMapではなくcom.tangosol.net.cache.OverflowMapが使用されます。有効な値は、trueまたはfalseです。デフォルト値はfalseです。

<expiry-delay>

オプション

前回の更新からエントリが期限切れとなるまでの、キャッシュでエントリが保持される期間を指定します。期限切れになったエントリはアクセス不能となり削除されます。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、秒が単位として適用されます。値0は期限がないことを意味します。デフォルト値は0です。

<autostart>

オプション

autostart要素は、キャッシュ・サーバー(つまり、com.tangosol.net.DefaultCacheServer)で使用することを目的としたものです。この要素は、このキャッシュ・スキームに関連付けられたキャッシュ・サービスをクラスタ・ノードで自動的に起動するかどうかを指定します。有効な値は、trueまたはfalseです。デフォルト値はfalseです。



paged-external-scheme

使用場所: caching-schemesdistributed-schemereplicated-schemeoptimistic-schemenear-schemeversioned-near-schemeoverflow-schemeread-write-backing-map-schemeversioned-backing-map-scheme

説明

external-scheme同様、paged-external-schemesは、より大きな記憶域容量の使用を可能にする非JVMヒープ・ベースのキャッシュを定義します。paged-external-schemeでは、ページングを使用してLRUエビクションを最適化します(<paging>サブ要素を参照)。ページ・キャッシュ機能の詳細は、第11章「シリアライズ・ページ・キャッシュ」を参照してください。

実装

このスキームは、com.tangosol.net.cache.SerializationPagedCacheクラスによって実装されます。

ページング

キャッシュ・エントリは一連のページによって保持されます。各ページは個別のcom.tangosol.io.BinaryStoreであり、構成済のストレージ・マネージャから取得されます(「プラッガブルなストレージ・マネージャ」を参照)。ページは作成時点において現在のページと見なされ、すべての書込み操作がこのページに対して実行されます。構成可能な時間間隔(<page-duration>サブ要素を参照)で現在のページが閉じられ、新しい現在のページが作成されます。特定のキーの読取り操作は、対象キーが格納された最後のページに対して実行されます。ページ数が構成済の最大値(<page-limit>サブ要素を参照)を超過すると、最も古いページが破棄され、そのページが閉じられてから更新されていないアイテムは削除されます。たとえば、1ページ当たり10分の間隔でキャッシュを構成し、最大値を6ページとすると、最大で1時間分のエントリがキャッシュされることになります。ページングでは、キャッシュ・エントリの削除や消去が行われるため、ストレージ・マネージャに対する削除操作を個別に実行する必要がなくなり、パフォーマンスが向上します。キャッシュでは、削除されたエントリに対する参照を解放するだけです。すべてのページ・エントリに使用されていた記憶域の解放はページ全体の最終的な破棄に依存し、これは1回のキーボード操作で実行されます。

プラッガブルなストレージ・マネージャ

外部スキームはプラッガブルなストア・マネージャを使用して、ページの作成と破棄、およびこれらのページ内のエントリへのアクセスを実行します。サポートされるストア・マネージャは次のとおりです。

永続性(長期記憶域)

外部ページ・キャッシュは、大きなデータ・セットの一時記憶域(たとえば、overflow-schemeのバック層)として使用されます。これらのキャッシュは長期記憶域(永続)としては使用できず、JVMの存続期間を超えて保持することはできません。クラスタ化の永続性は、distributed-schemeread-write-backing-map-schemeを使用して構成します。非クラスタの永続キャッシュが必要な場合は、「永続性(長期記憶域)」を参照してください。

要素

表D-38は、paged-external-scheme要素で定義可能なサブ要素について説明しています。

表D-38 paged-external-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<class-name>

オプション

外部ページ・キャッシュのカスタム実装を指定します。カスタム実装では、com.tangosol.net.cache.SerializationPagedCacheクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装する外部ページ・キャッシュのカスタム実装で使用されます。

<listener>

オプション

キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.util.MapListenerの実装を指定します。

<page-limit>

必須

ページ・キャッシュの最大アクティブ・ページ数を指定します。有効な値は、2〜3600の間の正の整数です。

<page-duration>

オプション

ページ・キャッシュ内のページを現在のページとする期間を秒単位で指定します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、秒が単位として適用されます。有効な値は、5〜604800秒(1週間)および0(失効なし)です。デフォルト値は0です。

<async-store-manager>

オプション

他のストレージ・マネージャに対して非同期のストレージ・マネージャ・ラッパーを使用するよう外部ページ・キャッシュを構成します。詳細は、「プラッガブルなストレージ・マネージャ」を参照してください。

<custom-store-manager>

オプション

ストレージ・マネージャのカスタム実装を使用するよう外部ページ・キャッシュを構成します。

<bdb-store-manager>

オプション

キャッシュ記憶域にBerkeley Database JEのオンディスク・データベースを使用するよう外部ページ・キャッシュを構成します。

<lh-file-manager>

オプション

キャッシュ記憶域にCoherence LHのオンディスク・データベースを使用するよう外部ページ・キャッシュを構成します。

<nio-file-manager>

オプション

キャッシュ記憶域にメモリーマップ・ファイルを使用するよう外部ページ・キャッシュを構成します。

<nio-memory-manager>

オプション

キャッシュ記憶域にJVMヒープ外のメモリー領域を使用するよう外部ページ・キャッシュを構成します。



partition-listener

使用場所: distributed-scheme

説明

com.tangosol.net.partition.PartitionListenerインタフェースの実装を指定します。これにより、パーティション分散イベントの受信が可能になります。

要素

表D-39は、partition-listener要素で定義可能なサブ要素について説明しています。

表D-39 partition-listenerのサブ要素

要素 必須/オプション 説明

<class-name>

必須

PartitionListenerインタフェースを実装するクラスの名前。この実装には、パラメータがゼロのpublicなコンストラクタが必要です。デフォルト値は、tangosol-coherence.xmlディスクリプタのpartition-listener/class-nameパラメータに指定された値です。詳細は、「DistributedCacheサービスのパラメータ」を参照してください。



partitioned

使用場所: backing-map-schemedistributed-scheme内でのみ)

説明

partitioned要素は、含まれるバッキング・マップがPartitionAwareBackingMapかどうかを指定します(この要素は、distributed-schemeの子であるbacking-map-schemeでのみ考慮されます)。trueに設定した場合、backing-map-scheme要素に含まれている特定のスキームは、PartitionAwareBackingMapの個々のパーティションのバッキング・マップの構成に使用されます。それ以外の場合は、バッキング・マップ全体に対して使用されます。PartitionAwareBackingMapインタフェースの具体的な実装は次のとおりです。

有効な値は、trueまたはfalseです。デフォルト値はfalseです。


proxy-config

使用場所: proxy-scheme

説明

proxy-config要素は、プロキシ・サービスによって管理されるクラスタ・サービス・プロキシの構成情報を指定します。サービス・プロキシは、リモート・クライアント(接続アクセプタを使用してクラスタに接続)と、リモート・クライアントが使用するクラスタ・サービスとの間を媒介します。

要素

表D-40は、proxy-config要素で定義可能なサブ要素について説明しています。

表D-40 proxy-configのサブ要素

要素 必須/オプション 説明

<cache-service-proxy>

オプション

プロキシ・サービスによって管理されるキャッシュ・サービス・プロキシの構成情報を指定します。

<invocation-service-proxy>

オプション

プロキシ・サービスによって管理される起動サービス・プロキシの構成情報を指定します。



proxy-scheme

使用場所: caching-schemes

説明

proxy-scheme要素には、クラスタ・サービスの構成情報を記述します。これにより、Coherence*Extendクライアントは、クラスタへの接続が可能になり、クラスタに参加しなくてもクラスタ・サービスを使用できるようになります。

要素

表D-41は、proxy-scheme要素で定義可能なサブ要素について説明しています。

表D-41 proxy-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<service-name>

オプション

サービスの名前を指定します。

<serializer>

オプション

プロキシ・サービスがユーザー定義型のシリアライズおよびデシリアライズに使用する、com.tangosol.io.Serializer実装のクラス構成情報を指定します。次の例では、デフォルトのcoherence-pof-types.xmlコンフィギュレーション・ファイルを使用して、ストリームに対するオブジェクトの書込みや読取りを行うConfigurablePofContextを構成しています。

<serializer>
  <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
</serializer>

<task-hung-threshold>

オプション

タスクが実行できる時間をミリ秒単位で指定します。この時間を超過すると、ハングしたと見なされます。注意: ポストされたタスクがまだ開始されていない場合は、ハングと見なされません。この属性は、スレッド・プールが使用されている(thread-countの値が正の)場合にのみ適用されます。有効な値は、正の整数またはゼロです(ゼロの場合は、デフォルト・タイムアウトがないことを示します)。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定された値です。詳細は、「ProxyServiceのパラメータ」のtask-hung-thresholdパラメータを参照してください。

<task-timeout>

オプション

サービス・ワーカー・スレッド上で実行するリクエストのタイムアウト値をミリ秒単位で指定します。この属性は、スレッド・プールが使用されている(thread-countの値が正の)場合にのみ適用されます。ゼロを指定すると、デフォルトのservice-guardian<timeout-milliseconds>値が使用されます。有効な値は、負でない整数です。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定された値です。「ProxyServiceのパラメータ」のtask-timeoutパラメータを参照してください。

<request-timeout>

オプション

レスポンスが来るまでクライアントが待機する最大時間を指定します。この時間を超過すると、元のリクエストが破棄されます。リクエスト時間はクライアント側で測定されるもので、対応するサーバー・ノードに対して実行のためのリクエストが送信されてからの経過時間に次の時間を加えたものです。

  • 実行側のノード(サーバー)にリクエストを配信するための所要時間

  • タスクが受信されてサービス・キューに入れられてから実行が開始されるまでの間隔

  • タスクの実行時間

  • クライアントに結果を返信するための所要時間

有効な値は、正の整数またはゼロです(ゼロの場合は、デフォルト・タイムアウトがないことを示します)。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定された値です。詳細は、「DistributedCacheサービスのパラメータ」のrequest-timeoutパラメータを参照してください。

<thread-count>

オプション

サービスで使用されるデーモン・スレッドの数を指定します。ゼロの場合、関連するタスクはすべて、サービス・スレッドで実行されます。有効な値は、正の整数またはゼロです。デフォルト値は、tangosol-coherence.xmlディスクリプタのthread-countパラメータに指定された値です。詳細は、「ProxyServiceのパラメータ」を参照してください。

<acceptor-config>

必須

接続アクセプタの構成を記述します。サービスでは、この接続アクセプタを使用してCoherence*Extendクライアントからの接続を受け入れ、クライアントがクラスタに参加していなくても、クラスタの提供するサービスを使用できるようにします。

<proxy-config>

オプション

このサービスによって管理されるクラスタ・サービス・プロキシの構成を記述します。

<autostart>

オプション

autostart要素は、キャッシュ・サーバー(つまり、com.tangosol.net.DefaultCacheServer)で使用することを目的としたものです。この要素は、このサービスをクラスタ・ノードで自動的に起動するかどうかを指定します。有効な値は、trueまたはfalseです。デフォルト値はfalseです。



read-write-backing-map-scheme

使用場所: caching-schemesdistributed-scheme

説明

read-write-backing-map-schemeは、永続ストアのサイズ制限されたキャッシュを提供するバッキング・マップを定義します。詳細は、『Oracle Coherenceスタート・ガイド』の「リードスルー、ライトスルー、ライトビハインドおよびリフレッシュアヘッド・キャッシュ」を参照してください。

実装

read-write-backing-map-schemeは、com.tangosol.net.cache.ReadWriteBackingMapクラスによって実装されます。

外部ストアのキャッシュ

読取り/書込みバッキング・マップは、外部の永続キャッシュ・ストア(<cachestore-scheme>サブ要素を参照)によってバッキングされるキャッシュを保持します。キャッシュ・ミスでは、バックエンド・ストアまでリードスルーしてデータが取得されます。書込み可能なストアが提供されている場合は、キャッシュへの書込みがキャッシュ・ストアにも同様に伝播します。

リフレッシュアヘッド・キャッシング

これが有効な場合(<refreshahead-factor>サブ要素を参照)、失効時期が近い、最近アクセスされたエントリがキャッシュによって監視され、キャッシュ・ストアから非同期でリロードされます。アイテムは定期的に期限切れになるため、アプリケーションでキャッシュ・ストアの読取りが遅くなる事態を回避できます。

ライトビハインド・キャッシュ

これが有効な場合(<write-delay>サブ要素を参照)、キャッシュによるバックエンド・キャッシュ・ストアへの書込みが遅延されます。これにより、書込みをより効率的な更新ブロックにバッチ化できます(<write-batch-factor>サブ要素を参照)。これは、クライアント・スレッドとは非同期に実行されます。

要素

次の表は、read-write-backing-map-scheme要素で定義可能なサブ要素について説明しています。

表D-42 read-write-backing-map-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<class-name>

オプション

読取り/書込みバッキング・マップのカスタム実装を指定します。カスタム実装では、com.tangosol.net.cache.ReadWriteBackingMapクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装する読取り/書込みバッキング・マップのカスタム実装で使用されます。

<listener>

オプション

キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.util.MapListenerの実装を指定します。

<cachestore-scheme>

オプション

キャッシュするストアを指定します。指定しない場合、キャッシュ・データは内部キャッシュにのみ配置され(<internal-cache-scheme>サブ要素を参照)、そのキャッシュに対して実行された操作のみを反映します。

<cachestore-timeout>

オプション

CacheStoreの読取りおよび書込み操作に使用するミリ秒単位のタイムアウト時間を指定します。CacheStoreの操作がタイムアウトになると、実行スレッドが中断されて、最終的にキャッシュ・サービスが終了することがあります。

ゼロを指定すると、デフォルトのservice-guardian<timeout-milliseconds>値が使用されます。

有効な値は、負でない整数です。

<internal-cache-scheme>

必須

エントリのキャッシュに使用されるcache-schemeを指定します。有効な値は次のとおりです。

<miss-cache-scheme>

オプション

キャッシュ・ミス情報を保持するcache-schemeを指定します。miss-cacheは、キャッシュ・ストアに見つからなかったキーの追跡に使用されます。キャッシュ・ストアにキーがないことを事前に知っておくことで、一部の操作がより迅速に実行されます。処理に時間がかかる可能性のあるキャッシュ・ストアへの問合せを回避できるからです。サイズが制限されたスキームを使用すると、キャッシュされるキャッシュ・ミスの数を制御できます。値を指定しないと、キャッシュ・ミスのデータは保持されません。有効な値は次のとおりです。

<read-only>

オプション

読取り専用にするかどうかを指定します。trueの場合、キャッシュはデータをキャッシュ・ストアからロードして読取り操作を行い、キャッシュが更新されたときにキャッシュ・ストアへの書込みは実行しません。有効な値は、trueまたはfalseです。デフォルト値はfalseです。

<write-delay>

オプション

ライトビハインド・キューでキャッシュ・ストアに対する非同期の書込みが遅延される時間間隔を指定します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、秒が単位として適用されます。0の場合、キャッシュ・ストアへの同期書込み(キューイングなし)が行われます。それ以外の場合、キャッシュ内の値が最後に更新されてから指定された期間だけ遅延して、書込みが非同期で実行されます。デフォルトは0です。

<write-batch-factor>

オプション

write-batch-factor要素は、ライトビハインド・キュー・エントリのソフト熟成時間の計算に使用されます。キューのエントリは、ライトビハインド・キューにwrite-delay期間以上格納されると、書込み操作用に十分に熟成している(適切な書込み時である)と見なされます。ソフト熟成時間は、実際の熟成時間より前の時点になります。これより後では、エントリが(その他のすべての熟成エントリとソフト熟成エントリとともに)CashStoreに対するバッチ化された非同期の書込み操作に組み込まれます。つまり、ソフト熟成エントリは、次の期間よりも長くライトビハインド・キューに配置されていたエントリです。

D' = (1.0 - F)*D。D = write-delayの間隔、F = write-batch-factor

概念的には、バッチ化された更新を実行する際に、write-behindスレッドでは次のロジックが使用されます。

  1. スレッドは、キューに入れられたエントリが熟成するのを待ちます。

  2. エントリが熟成すると、キュー内の熟成エントリおよびソフト熟成エントリのすべてが、スレッドでデキューされます。

  3. 次に、スレッドではstore()(熟成エントリが1つのみの場合)またはstoreAll()(熟成/ソフト熟成エントリが複数存在する場合)を使用して、熟成およびソフト熟成のすべてのエントリを書き込みます。

  4. その後、スレッドは(1)を繰り返します。

この要素は、非同期の書込みが有効で(つまり、write-delay要素の値が0より大きくて)、CacheStorestoreAll()メソッドが実装されている場合にのみ適用されます。要素の値は、write-delay間隔の割合で表します。有効な値は、1.0以下の正のダブルになります。デフォルトは0です。

<write-requeue-threshold>

オプション

ライトビハインド・キューの最大サイズを指定します。ここに、キャッシュ・ストアの失敗した書込み操作が再キューされます。この設定の目的は、失敗したキャッシュ・ストア操作によってライトビハインド・キューがあふれないようにすることです。これは、多数の連続する書込み操作が失敗したときに発生する場合があります。0の場合、ライトビハインドの再キューが無効になります。有効な値は、正の整数またはゼロです。デフォルトは0です。

<refresh-ahead-factor>

オプション

refresh-ahead-factor要素は、キャッシュ・エントリのソフト失効時間の計算に使用されます。ソフト失効時間は、実際の失効時間より前の時点になります。これより後では、エントリへのアクセス・リクエストによって、エントリに対する非同期のロード・リクエストがスケジュール化されます。この属性は、内部キャッシュがlocal-schemeで、<expiry-delay>サブ要素が構成されている場合にのみ適用されます。この値は、内部的なLocalCache失効間隔の割合で表します。0の場合、リフレッシュアヘッド・スケジュールが無効になります。1.0の場合、get操作によって非同期のリロードがただちにトリガーされます。有効な値は、1.0以下の正のダブルになります。デフォルト値は0です。

<rollback-cachestore-failures>

オプション

同期のキャッシュ・ストア操作でキャッチされた例外が、コール元のスレッドに再スローされるかどうかを指定します(ネットワークを介してリモート・メンバーに送信されることもある)。この要素の値がfalseの場合、同期のキャッシュ・ストア操作でキャッチされた例外はローカルでログに記録され、内部キャッシュは更新されます。この値がtrueの場合、例外がコール元のスレッドに再スローされ、内部キャッシュは変更されません。この操作をトランザクション・コンテキスト内でコールした場合は、現在のトランザクションをロールバックするのと同様の操作になります。有効な値は、trueまたはfalseです。デフォルト値はfalseです。



remote-cache-scheme

使用場所: cachestore-schemecaching-schemesnear-scheme

説明

remote-cache-scheme要素には、クラスタの外部からCoherence*Extendを使用してクラスタ・キャッシュを利用する際に必要な構成情報を記述します。

要素

次の表は、remote-cache-scheme要素で定義可能なサブ要素について説明しています。

表D-43 remote-cache-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<service-name>

オプション

このスキームで作成されたキャッシュを管理するサービス名を指定します。

<operation-bundling>

オプション

バンドル方針の構成情報を指定します。

<initiator-config>

必須

クラスタへの接続を確立するためにサービスで使用される接続イニシエータの構成を記述します。



remote-invocation-scheme

使用場所: caching-schemes

説明

remote-invocation-scheme要素には、クラスタに参加せずにクラスタ・コンテキスト内でタスクを実行する際に必要な構成情報を記述します。このスキームは、Coherence*Extendを使用してクラスタに接続します。

要素

表D-44は、remote-invocation-scheme要素で定義可能なサブ要素について説明しています。

表D-44 remote-invocation-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<service-name>

オプション

サービスの名前を指定します。

<initiator-config>

必須

クラスタへの接続を確立するためにサービスで使用される接続イニシエータの構成を記述します。



replicated-scheme

使用場所: caching-schemesnear-schemeversioned-near-schemeoverflow-schemeversioned-backing-map-scheme

説明

レプリケーション・スキームは、指定したサービスを実行する各クラスタ・ノードに、すべてのキャッシュ・エントリを完全にレプリケートするキャッシュを定義します。レプリケーション・キャッシュの詳細は、「レプリケーション・キャッシュ・サービス」を参照してください。

クラスタ化された並列処理制御

レプリケーション・キャッシュでは、クラスタ全体を対象とするキーベースのロック機能がサポートされるため、更新の欠落といった従来の問題を発生させることなく、クラスタ内のデータを変更できます。明示的ロックを行わずに実行された操作もすべてアトミックですが、キャッシュに格納された値がアトミック操作間で変更されない保証はありません。

キャッシュ記憶域(バッキング・マップ)

キャッシュの記憶域はbacking-map-schemeを使用して指定します(<backing-map>サブ要素を参照)。たとえば、バッキング・マップにlocal-schemeを使用するレプリケーション・キャッシュでは、キャッシュ・エントリがメモリー内に格納されます。

要素

表D-45は、replicated-scheme要素で定義可能なサブ要素について説明しています。

表D-45 replicated-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<service-name>

オプション

このスキームで作成されたキャッシュを管理するサービス名を指定します。サービスは、tangosol-coherence.xmlファイルの<services>要素で構成します。詳細は、付録H「オペレーション・コンフィギュレーションの要素」を参照してください。

<listener>

オプション

キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.util.MapListenerの実装を指定します。

<backing-map-scheme>

オプション

キャッシュ・サーバー内でのエントリの格納に使用するキャッシュのタイプを指定します。有効な値は次のとおりです。

キャッシュの一貫性を確保するため、レプリケーション・キャッシュのバッキング・マップでは、キャッシュ・エントリのロードにリードスルー・パターンを使用しません。キャッシュ・サービスの外部でキャッシュアサイド・パターンを使用するか、クラスタ・キャッシュのリードスルーをサポートするdistributed-schemeに切り替えます。

<standard-lease-milliseconds>

オプション

標準的なリースの継続時間をミリ秒単位で指定します。リースがこのミリ秒数を超過すると、ロックは自動的に解放されます。期限切れが発生しないリースを指定するには、この値をゼロに設定します。この設定の目的は、スタック・スレッドを原因とするデッドロックまたはブロックが発生しないようにすることです。最長の予想ロック継続時間より高い(たとえば、トランザクション・タイムアウトより高い)値を設定する必要があります。また、packet-delivery/timeout-millisecondsの値より高い値を設定することをお薦めします。有効な値は、桁数の多い正の数値またはゼロです。デフォルト値は、tangosol-coherence.xmlディスクリプタのpacket-delivery/timeout-millisecondsに指定された値です。詳細は、「ReplicatedCacheサービスのパラメータ」を参照してください。

<lease-granularity>

オプション

リース所有権の精度を指定します。リリース2.3以降で使用できます。有効な値は次のとおりです。

  • thread

  • member

値がthreadの場合、ロックはそのロックを取得したスレッドによって保持され、そのスレッドによってのみ解放されます。値がmemberの場合、ロックはクラスタ・ノードによって保持され、ロックを取得したクラスタ・ノード上で実行されるスレッドによって解放できます。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたlease-granularity値です。詳細は、「ReplicatedCacheサービスのパラメータ」を参照してください。

<mobile-issues>

オプション

リースの問題を最新のロック・ホルダーに転送するかどうかを指定します。有効な値は、trueまたはfalseです。デフォルト値は、tangosol-coherence.xmlディスクリプタに指定されたmobile-issue値です。詳細は、「ReplicatedCacheサービスのパラメータ」を参照してください。

<autostart>

オプション

autostart要素は、キャッシュ・サーバー(つまり、com.tangosol.net.DefaultCacheServer)で使用することを目的としたものです。この要素は、このキャッシュ・スキームに関連付けられたキャッシュ・サービスをクラスタ・ノードで自動的に起動するかどうかを指定します。有効な値は、trueまたはfalseです。デフォルト値はfalseです。



tcp-acceptor

使用場所: acceptor-config

説明

tcp-acceptor要素は、Coherence*ExtendクライアントからのTCP/IPを介した接続を受け入れる接続アクセプタの構成情報を指定します。詳細および構成例については、第17章「Coherence*Extendの構成と使用」を参照してください。

要素

表D-46は、tcp-acceptor要素で定義可能なサブ要素について説明しています。

表D-46 tcp-acceptorのサブ要素

要素 必須/オプション 説明

<local-address>

必須

接続アクセプタが開いたTCP/IP ServerSocketがリスニングするローカル・アドレス(IPまたはDNS名)およびポートを指定します。たとえば、次の例は、接続アクセプタに対して、TCP/IP ServerSocketを192.168.0.2:9099にバインドするように指定します。

<local-address>
  <address>192.168.0.2</address>
  <port>9099</port>
  <reusable>true</reusable>
</local-address>

<reusable>子要素は、前回の接続がタイムアウト状態になった場合にTCP/IPソケットをアドレスにバインドできるかどうかを指定します。TCP/IP接続が閉じられると、その後の一定期間は接続のタイムアウト状態として保持される場合があります(一般に、TIME_WAIT状態または2MSL待機状態と呼ばれる)。well knownソケット・アドレスまたはポートを使用するアプリケーションでは、タイムアウト状態にある接続がこのソケット・アドレスやポートに関係していると、必要なアドレスにソケットをバインドできない場合があります。

<keep-alive-enabled>

オプション

キープ・アライブ(SO_KEEPALIVE)が、TCP/IPソケットで有効にされているかどうかを示します。有効値は、trueとfalseです。デフォルトでは、キープ・アライブは有効です。

<tcp-delay-enabled>

オプション

TCP遅延(Nagleアルゴリズム)が、TCP/IPソケットで有効にされているかどうかを示します。有効な値は、truefalseです。デフォルトでは、TCP遅延は無効です。

<receive-buffer-size>

オプション

基礎となるTCP/IPソケット・ネットワーク受信バッファのサイズを構成します。受信バッファ・サイズを増やすと、大量の接続におけるネットワークI/Oのパフォーマンスが向上します。受信バッファ・サイズを減らすと、未処理の受信データが削減されます。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]?

前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。

  • Kまたはk(キロ、210)

  • Mまたはm(メガ、220)

  • Gまたはg(ギガ、230)

値に係数が含まれていない場合は、1が係数として適用されます。デフォルト値はOSに依存します。

<send-buffer-size>

オプション

基礎となるTCP/IPソケット・ネットワーク送信バッファのサイズを構成します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]?

前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。

  • Kまたはk(キロ、210)

  • Mまたはm(メガ、220)

  • Gまたはg(ギガ、230)

値に係数が含まれていない場合は、1が係数として適用されます。デフォルト値はOSに依存します。

<listen-backlog>

オプション

TCP/IPサーバー・ソケットの未処理キューのサイズを構成します。有効値は正の整数です。デフォルト値はOSに依存します。

<linger-timeout>

オプション

TCP/IPソケットで、指定したリンガー時間SO_LINGERを有効にします。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルトでは、リンガーは無効です。

<authorized-hosts>

オプション

このTCP/IPアクセプタへの接続が許可される、TCP/IPイニシエータ・ホストのIPアドレス・コレクションです。



tcp-initiator

使用場所: initiator-config

説明

tcp-initiator要素は、Coherence*Extendクライアントからリモート・クラスタへのTCP/IPを介した接続を有効にする接続イニシエータの構成情報を指定します。詳細および構成例については、第17章「Coherence*Extendの構成と使用」を参照してください。

要素

表D-47は、tcp-initiator要素で定義可能なサブ要素について説明しています。

表D-47 tcp-initiatorのサブ要素

要素 必須/オプション 説明

<local-address>

オプション

接続イニシエータが開いたTCP/IPソケットがバインドされるローカル・アドレス(IPまたはDNS名)を指定します。たとえば、次の例は、接続イニシエータに対して、TCP/IPソケットをIPアドレス192.168.0.1にバインドするように指定します。

<local-address>
  <address>192.168.0.1</address>
</local-address>

<remote-addresses>

必須

1つ以上のTCP/IP接続アクセプタの<socket-address>を記述します。TCP/IP接続イニシエータは、この情報を使用してリモート・クラスタとのTCP/IP接続を確立します。TCP/IP接続イニシエータは、そのリストを使い果たすかTCP/IP接続が確立されるまで、ランダムな順序でアドレスへの接続を試行します。たとえば、次の例は、接続イニシエータに対して、192.168.0.2:9099と192.168.0.3:9099への接続をランダムな順序で試行するように指定します。

<remote-addresses>
  <socket-address>
    <address>192.168.0.2</address>
    <port>9099</port>
  </socket-address>
  <socket-address>
    <address>192.168.0.3</address>
    <port>9099</port>
  </socket-address>
</remote-addresses>

また、<socket-address>要素リストのかわりに<address-provider>要素を使用して、リモート・アドレスのセットを指定することもできます。このアプローチは、カスタムのロード・バランシング・アルゴリズムや、TCP/IP接続アクセプタの動的検出の実装に使用できます。

<keep-alive-enabled>

オプション

キープ・アライブ(SO_KEEPALIVE)が、TCP/IPソケットで有効にされているかどうかを示します。有効な値は、truefalseです。デフォルトでは、キープ・アライブは有効です。

<tcp-delay-enabled>

オプション

TCP遅延(Nagleアルゴリズム)が、TCP/IPソケットで有効にされているかどうかを示します。有効な値は、truefalseです。デフォルトでは、TCP遅延は無効です。

<receive-buffer-size>

オプション

基礎となるTCP/IPソケット・ネットワーク受信バッファのサイズを構成します。受信バッファ・サイズを増やすと、大量の接続におけるネットワークI/Oのパフォーマンスが向上します。受信バッファ・サイズを減らすと、未処理の受信データが削減されます。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]?

前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。

  • Kまたはk(キロ、210)

  • Mまたはm(メガ、220)

  • Gまたはg(ギガ、230)

値に係数が含まれていない場合は、1が係数として適用されます。デフォルト値はOSに依存します。

<send-buffer-size>

オプション

基礎となるTCP/IPソケット・ネットワーク送信バッファのサイズを構成します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]?

前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。

  • Kまたはk(キロ、210)

  • Mまたはm(メガ、220)

  • Gまたはg(ギガ、230)

値に係数が含まれていない場合は、1が係数として適用されます。デフォルト値はOSに依存します。

<connect-timeout>

オプション

接続アクセプタへの接続を確立する際の最大待機時間を指定します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルト値は無限のタイムアウトです。

<linger-timeout>

オプション

TCP/IPソケットで、指定したリンガー時間SO_LINGERを有効にします。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルトでは、リンガーは無効です。



version-persistent-scheme

使用場所: versioned-backing-map-scheme

説明

version-persistent-schemeは、クラスタ・キャッシュのオブジェクトのバージョニング情報を格納するキャッシュを定義します。指定したスキームのバッキング・マップでサイズ制限を指定すると、追跡するバージョン識別子の数を制御できます。

要素

表D-48は、version-persistent-scheme要素で定義可能なサブ要素について説明しています。

表D-48 version-persistent-schemeのサブ要素

要素 必須/オプション 説明

<cache-name-suffix>

オプション

名前修飾子を指定します。この修飾子は、特定のキャッシュに関連付けられたバージョン・オブジェクトのキャッシュの作成に使用されます。この要素の値は、ベース・キャッシュ名に付加されます。有効な値は文字列です。デフォルト値は-persistです。たとえば、Sessionsという名前のベース・ケースがあり、この名前修飾子が-persistに設定されている場合、関連付けられているバージョン・キャッシュの名前はSessions-persistになります。

<replicated-scheme>または<distributed-scheme>

必須

バージョン情報の保持に使用されるキャッシュのスキームを指定します。有効な値は次のとおりです。



version-transient-scheme

使用場所: versioned-near-schemeversioned-backing-map-scheme

説明

version-transient-schemeは、バージョニングされたニア・キャッシュで使用される、オブジェクトのバージョニング情報を格納するキャッシュを定義します。指定したスキームのバッキング・マップでサイズ制限を指定すると、追跡するバージョン識別子の数を制御できます。

要素

次の表は、version-transient-scheme要素で定義可能なサブ要素について説明しています。

表D-49 version-transient-schemeのサブ要素

要素 必須/オプション 説明

<cache-name-suffix>

オプション

名前修飾子を指定します。この修飾子は、特定のキャッシュに関連付けられたバージョン・オブジェクトのキャッシュの作成に使用されます。この要素の値は、ベース・キャッシュ名に付加されます。有効な値は文字列です。デフォルト値は-versionです。たとえば、Sessionsという名前のベース・ケースがあり、この名前修飾子が-versionに設定されている場合、関連付けられているバージョン・キャッシュの名前はSessions-versionになります。

<replicated-scheme>または<distributed-scheme>

必須

バージョン情報の保持に使用されるキャッシュのスキームを指定します。有効な値は次のとおりです。



versioned-backing-map-scheme

使用場所: caching-schemesdistributed-schemereplicated-schemeoptimistic-scheme

説明

versioned-backing-map-schemeは、read-write-backing-map-schemeの拡張で、永続ストアのサイズ制限されたキャッシュを定義します。オブジェクトのバージョニングを使用して、永続ストアに書き込む必要のある更新が判断されます。詳細は、「バージョニング」を参照してください。

実装

versioned-backing-map-schemeスキームは、com.tangosol.net.cache.VersionedBackingMapクラスによって実装されます。

外部ストアのキャッシュ

read-write-backing-map-schemeと同様、バージョニングされたバッキング・マップは、外部の永続キャッシュ・ストア(<cachestore-scheme>サブ要素を参照)によってバッキングされるキャッシュを保持します。キャッシュ・ミスでは、バックエンド・ストアまでリードスルーしてデータが取得されます。キャッシュ・ストアで、バックエンドのデータ・ストアに対する更新がサポートされる場合もあります。

リフレッシュアヘッドおよびライトビハインドのキャッシュ

read-write-backing-map-schemeと同様、リフレッシュアヘッド(<refresh-ahead>サブ要素を参照)とライトビハインド(<write-behind>サブ要素を参照)の両方で、キャッシングの最適化がサポートされます。詳細は、『Oracle Coherenceスタート・ガイド』の「リードスルー、ライトスルー、ライトビハインドおよびリフレッシュアヘッド・キャッシュ」を参照してください。

バージョニング

エントリの値でcom.tangosol.util.Versionableインタフェースが実装される場合、バージョニングされたバッキング・マップはバージョン識別子を使用して、更新を永続ストアに書き込む必要があるかどうかを判断します。この機能の主な利点は、クラスタ・ノードのフェイルオーバーが発生した場合に、永続ストアにエントリの最新バージョンがすでに書き込まれているかどうかをバックアップ・ノードで判断できることです。これにより、不必要な書込みを回避できます。

要素

表D-50は、versioned-backing-map-scheme要素で定義可能なサブ要素について説明しています。

表D-50 versioned-backing-map-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<class-name>

オプション

バージョニングされているバッキング・マップのカスタム実装を指定します。カスタム実装は、com.tangosol.net.cache.VersionedBackingMapクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装するカスタムのバージョニングされたバッキング・マップの実装で使用されます。

<listener>

オプション

キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.util.MapListenerの実装を指定します。

<cachestore-scheme>

オプション

キャッシュするストアを指定します。指定しない場合、キャッシュ・データは内部キャッシュにのみ配置され(<internal-cache-scheme>サブ要素を参照)、そのキャッシュに対して実行された操作のみを反映します。

<internal-cache-scheme>

必須

エントリのキャッシュに使用されるcache-schemeを指定します。有効な値は次のとおりです。

<miss-cache-scheme>

オプション

キャッシュ・ミス情報を保持するcache-schemeを指定します。miss-cacheは、キャッシュ・ストアに見つからなかったキーの追跡に使用されます。キャッシュ・ストアにキーがないことを事前に知っておくことで、一部の操作がより迅速に実行されます。処理に時間がかかる可能性のあるキャッシュ・ストアへの問合せを回避できるからです。サイズが制限されたスキームを使用すると、キャッシュされるキャッシュ・ミスの数を制御できます。値を指定しないと、キャッシュ・ミスのデータは保持されません。有効な値は次のとおりです。

<read-only>

オプション

読取り専用にするかどうかを指定します。trueの場合、キャッシュはデータをキャッシュ・ストアからロードして読取り操作を行い、キャッシュが更新されたときにキャッシュ・ストアへの書込みは実行しません。有効な値は、trueまたはfalseです。デフォルト値はfalseです。

<write-delay>

オプション

ライトビハインド・キューでキャッシュ・ストアに対する非同期の書込みが遅延される時間間隔を指定します。この要素の値は、次の形式で指定する必要があります。

[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、秒が単位として適用されます。0の場合、キャッシュ・ストアへの同期書込み(キューイングなし)が行われます。それ以外の場合、キャッシュ内の値が最後に更新されてから指定された秒数だけ遅延して、書込みが非同期で実行されます。デフォルトは0です。

<write-batch-factor>

オプション

write-batch-factor要素は、ライトビハインド・キュー・エントリのソフト熟成時間の計算に使用されます。キューのエントリは、ライトビハインド・キューにwrite-delay期間以上格納されると、書込み操作用に十分に熟成している(適切な書込み時である)と見なされます。ソフト熟成時間は、実際の熟成時間より前の時点になります。これより後では、エントリが(その他のすべての熟成エントリとソフト熟成エントリとともに)CashStoreに対するバッチ化された非同期の書込み操作に組み込まれます。この要素は、非同期の書込みが有効で(つまり、write-delay要素の値が0より大きくて)、CacheStorestoreAll()メソッドが実装されている場合にのみ適用されます。要素の値は、write-delay間隔の割合で表します。たとえば、値が0の場合、ライトビハインド・キューの熟成エントリのみがバッチに組み込まれます。逆に、値が1.0の場合は、現在キューに入れられているすべてのエントリがバッチに組み込まれ、write-delay要素の値は実質的に無視されます。有効な値は、1.0以下の正のダブルになります。デフォルトは0です。

<write-requeue-threshold>

オプション

ライトビハインド・キューの最大サイズを指定します。ここに、キャッシュ・ストアの失敗した書込み操作が再キューされます。この設定の目的は、失敗したキャッシュ・ストア操作によってライトビハインド・キューがあふれないようにすることです。これは、多数の連続する書込み操作が失敗したときに発生する場合があります。0の場合、ライトビハインドの再キューが無効になります。有効な値は、正の整数またはゼロです。デフォルトは0です。

<refresh-ahead-factor>

オプション

refresh-ahead-factor要素は、キャッシュ・エントリのソフト失効時間の計算に使用されます。ソフト失効時間は、実際の失効時間より前の時点になります。これより後では、エントリへのアクセス・リクエストによって、エントリに対する非同期のロード・リクエストがスケジュール化されます。この属性は、内部キャッシュ(<internal-cache-scheme>サブ要素を参照)がlocal-schemeで、<location>サブ要素が構成されている場合にのみ適用されます。この値は、内部的なLocalCache失効間隔の割合で表します。0の場合、リフレッシュアヘッド・スケジュールが無効になります。1.0の場合、get操作によって非同期のリロードがただちにトリガーされます。有効な値は、1.0以下の正のダブルになります。デフォルト値は0です。

<rollback-cachestore-failures>

オプション

同期のキャッシュ・ストア操作でキャッチされた例外が、コール元のスレッドに再スローされるかどうかを指定します(ネットワークを介してリモート・メンバーに送信されることもある)。この要素の値がfalseの場合、同期のキャッシュ・ストア操作でキャッチされた例外はローカルでログに記録され、内部キャッシュは更新されます。この値がtrueの場合、例外がコール元のスレッドに再スローされ、内部キャッシュは変更されません。この操作をトランザクション・コンテキスト内でコールした場合は、現在のトランザクションをロールバックするのと同様の操作になります。有効な値は、trueまたはfalseです。デフォルト値はfalseです。

<version-persistent-scheme>

オプション

永続キャッシュ・ストア内のエントリのバージョン識別子を追跡するcache-schmeを指定します(cachestore-schemeを参照)。

<version-transient-scheme>

オプション

一時内部キャッシュ内のエントリのバージョン識別子を追跡するcache-schmeを指定します(<internal-cache-scheme>サブ要素を参照)。

<manage-transient>

オプション

バッキング・マップが、一時バージョン・キャッシュを最新の状態に維持する役割を果たすかどうかを指定します。無効化されている場合、バッキング・マップは他のパーティが認識しない操作(エントリの失効など)についてのみ、一時バージョン・キャッシュの管理を行います。これは、たとえばversioned-near-schemeのような上位レベルで、同じ名前の一時バージョン・キャッシュがすでに存在している場合に使用されます。有効な値は、trueまたはfalseです。デフォルト値はfalseです。



versioned-near-scheme

使用場所: caching-schemes


注意:

Coherenceリリース2.3以降は、versioned-near-schemeではなく、near-schemeを使用することをお薦めします。従来のCoherenceアプリケーションでは、versioned-near-schemeを使用してオブジェクトのバージョニングの一貫性を保証していました。Coherence 2.3以降、near-schemeでは、改良された代替手段として、信頼性が高く効率的なフロント・キャッシュの無効化が組み込まれています。

説明

near-schemeと同様、versioned-near-schemeは、高速で小規模なフロントエンド・キャッシュと、低速で大容量のバックエンド・キャッシュで構成される2層キャッシュを定義します。フロントエンド(<front-end>サブ要素を参照)とバックエンド(<back-end>サブ要素を参照)は、通常のcache-schemesとして表されます。一般的なデプロイでは、フロントエンドにはlocal-schemeが、バックエンドにはdistributed-schemeが使用されます。バージョニングされている二ア・キャッシュの詳細は、付録B「Coherenceのキャッシュのタイプ」を参照してください。

実装

バージョニングされているニア・キャッシュは、com.tangosol.net.cache.VersionedNearCacheクラスによって実装されます。

バージョニング

オブジェクトのバージョニングを使用すると、フロント層とバック層の一貫性が保証されます。詳細は、<version-transient-scheme>のサブ要素を参照してください。

要素

表D-51は、versioned-near-scheme要素で定義可能なサブ要素について説明しています。

表D-51 versioned-near-schemeのサブ要素

要素 必須/オプション 説明

<scheme-name>

オプション

スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。

<scheme-ref>

オプション

継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。

<class-name>

オプション

バージョニングされているニア・キャッシュのカスタム実装を指定します。指定されたクラスは、com.tangosol.net.cache.VersionedNearCacheクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。

<init-params>

オプション

初期化パラメータを指定します。このパラメータは、com.tangosol.run.xml.XmlConfigurableインタフェースを実装するバージョニングされた二ア・キャッシュのカスタム実装で使用されます。

<listener>

オプション

キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.util.MapListenerの実装を指定します。

<front-scheme>

必須

フロント層キャッシュの作成に使用するcache-schemeを指定します。有効な値は次のとおりです。

次に例を示します。

<front-scheme>
  <local-scheme>
    <scheme-ref>default-eviction</scheme-ref>
  </local-scheme>
</front-scheme>

または

<front-scheme>
  <class-scheme>
    <class-name>com.tangosol.util.SafeHashMap</class-name>
    <init-params></init-params>
  </class-scheme>
</front-scheme>

<back-scheme>

必須

バック層キャッシュの作成に使用するcache-schemeを指定します。有効値は次のとおりです。

次に例を示します。

<back-scheme>
  <distributed-scheme>
    <scheme-ref>default-distributed</scheme-ref>
  </distributed-scheme>
</back-scheme>

<version-transient-scheme>

オプション

キャッシュ・エントリのバージョニングに使用するスキームを指定します。これにより、フロント層とバック層の一貫性が保証されます。

<autostart>

オプション

autostart要素は、キャッシュ・サーバー(つまり、com.tangosol.net.DefaultCacheServer)で使用することを目的としたものです。この要素は、このキャッシュ・スキームに関連付けられたキャッシュ・サービスをクラスタ・ノードで自動的に起動するかどうかを指定します。有効な値は、trueまたはfalseです。デフォルト値はfalseです。