この付録では、キャッシュ・コンフィギュレーションに使用できる要素について説明します。また、それらの要素が使用されるデプロイメント・ディスクリプタ・ファイルについても記載しています。
キャッシュ・コンフィギュレーション・デプロイメント・ディスクリプタを使用して、クラスタ内で使用できる様々な種類のキャッシュを指定します。クラスタ通信およびサービスの構成については、付録H「オペレーション・コンフィギュレーションの要素」を参照してください。
ディスクリプタの名前と場所は、オペレーション・デプロイメント・ディスクリプタで指定されているcoherence-cache-config.xml
にデフォルト設定されます。このデフォルトのコンフィギュレーション・ディスクリプタはcoherence.jar
にパッケージ化されており、カスタム・ファイルがアプリケーションのクラスパスに検出されないかぎり使用されます。クラスタ内のすべてのノードで使用するキャッシュ・コンフィギュレーション・ディスクリプタを統一することをお薦めします。
キャッシュ・コンフィギュレーション・ディスクリプタは、次のDOCTYPE宣言から開始します。
<!DOCTYPE cache-config SYSTEM "cache-config.dtd">
注意: デフォルトのキャラクタ・セットがASCIIではなくEBCDICである環境にCoherenceをデプロイする場合、このディスクリプタ・ファイルがASCII形式であり、ランタイム環境にバイナリ形式でデプロイされることを確認してください。 |
Oracle Coherenceには強力なコマンドライン・オーバーライド機能があり、このディスクリプタにsystem-property属性が定義されている場合は、ディスクリプタに定義された要素をJavaコマンドラインからオーバーライドできます。この機能の詳細は、付録L「コマンドラインのオーバーライド」を参照してください。
次の表は、キャッシュ・コンフィギュレーションで使用可能なすべての非終端要素を一覧表示しています。
表D-1 キャッシュ・コンフィギュレーションの要素
使用場所: proxy-scheme
説明
acceptor-config
要素は、プロトコル固有の接続アクセプタの構成情報を指定します。接続アクセプタはプロキシ・サービスで使用され、Coherence*Extendクライアントからクラスタへの接続を有効にして、クライアントがクラスタに参加していなくても、クラスタの提供するサービスを使用できるようにします。
acceptor-config
要素には、プロトコル固有の接続アクセプタの構成要素を1つだけ記述します(jms-acceptorまたはtcp-acceptor)。
要素
表D-2は、acceptor-config
要素で定義可能なサブ要素について説明しています。
表D-2 acceptor-configのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
この接続アクセプタで許可される同時接続の最大数。有効な値は、正の整数および0です。値0は制限がないことを意味します。デフォルト値は0です。 |
オプション |
Coherence*ExtendクライアントからクラスタへのJMSを介した接続を有効にする、接続アクセプタの構成情報を指定します。 |
|
オプション |
クライアントからクラスタへの接続の切断を検出するために接続アクセプタで使用される構成情報を指定します。 |
|
< |
オプション |
接続アクセプタがユーザー定義型のシリアライズおよびデシリアライズに使用する、 <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> |
オプション |
Coherence*ExtendクライアントからクラスタへのTCP/IPを介した接続を有効にする、接続アクセプタの構成情報を指定します。 |
|
< |
オプション |
この接続アクセプタで使用する<filters>名のリストを記述します。たとえば、 <use-filters> <filter-name>gzip</filter-name> </use-filters> |
使用場所: tcp-initiator
説明
com.tangosol.net.AddressProvider
インタフェースを実装するアドレス・ファクトリの構成情報を記述します。
要素
表D-3は、address-provider
要素で定義可能なサブ要素について説明しています。
表D-3 address-providerのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
オブジェクトのインスタンス化でファクトリとして使用されるJavaクラスの完全修飾名を指定します。 |
< |
必須 |
|
オプション |
|
|
< |
オプション |
オブジェクトのインスタンス化を実行する、ファクトリ・クラスのstaticなファクトリ・メソッドの名前を指定します。 |
使用場所: external-scheme
、paged-external-scheme
説明
async-store-manager
要素は、他のストア・マネージャの実装に、非同期の書込み機能を追加します。サポートされるストア・マネージャは次のとおりです。
custom-store-manager
: ストア・マネージャのカスタム実装を定義します。
bdb-store-manager
: Berkeley Database JEを使用してオンディクス・キャッシュを実装します。
lh-file-manager
: Coherence LHを使用してオンディクス・データベース・キャッシュを実装します。
nio-file-manager
: NIOを使用してメモリーマップ・ファイル・ベースのキャッシュを実装します。
nio-memory-manager
: NIOを使用してJVMヒープ外キャッシュ(インメモリー・キャッシュ)を実装します。
実装
このストア・マネージャは、com.tangosol.io.AsyncBinaryStoreManager
クラスによって実装されます。
要素
表D-4は、async-store-manager
要素で定義可能なサブ要素について説明しています。
表D-4 async-store-managerのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
非同期に書き込まれるキューに配置される最大バイト数を指定します。この値を0に設定しても非同期の書込みが無効になるわけではありません。0が設定されている場合は、この実装にデフォルトの最大バイト数が必要であることを示します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[K|k|M|m]?[B|b]? 前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。
値に係数が含まれていない場合は、1が係数として適用されます。有効な値は、正のメモリー・サイズまたは0です。デフォルト値は4MBです。 |
オプション |
キャッシュ記憶域にBerkeley Database JEのオンディスク・データベースを使用するよう外部キャッシュを構成します。 |
|
< |
オプション |
|
オプション |
ストレージ・マネージャのカスタム実装を使用するよう外部キャッシュを構成します。 |
|
オプション |
初期化パラメータを指定します。このパラメータは、 |
|
オプション |
キャッシュ記憶域にCoherence LHのオンディスク・データベースを使用するよう外部キャッシュを構成します。 |
|
オプション |
キャッシュ記憶域にメモリーマップ・ファイルを使用するよう外部キャッシュを構成します。 |
|
オプション |
キャッシュ記憶域にJVMヒープ外のメモリー領域を使用するよう外部キャッシュを構成します。 |
使用場所: distributed-scheme
、optimistic-scheme
、replicated-scheme
説明
キャッシュ・サーバー内でのエントリの格納に使用するキャッシュのタイプを指定します。
オーバーフロー・ベースのバッキング・マップを使用する際は、対応するbackup-storageでオーバーフローを構成することが重要です(可能であれば、backing-map
と同じスキームを使用します)。構成例については、「オーバーフローが設定されたパーティション・キャッシュ」を参照してください。
注意: partitioned サブ要素は、親要素がdistributed-scheme の場合にのみ使用されます。 |
要素
表D-5は、backing-map-scheme
要素で定義可能なサブ要素について説明しています。 :
表D-5 backing-map-schemeのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
オプション |
クラス・スキームは、任意のJavaオブジェクトをインスタンス化して、他のスキームでの使用を可能にするメカニズムを提供します。この要素を含むスキームによって、拡張の必要なクラスまたはインタフェースが指定されます。 |
|
オプション |
外部スキームを使用すると、JVMヒープ・ベースでないキャッシュを定義することで大容量の記憶域の使用が可能になります。 |
|
オプション |
ローカル・キャッシュ・スキームは、インメモリー・ローカル・キャッシュを定義します。ローカル・キャッシュは一般に、他のキャッシュ・スキーム内にネストされます(ニア・スキームのフロント層としてなど)。 |
|
オプション |
external-scheme同様、 |
|
<partitioned> |
オプション |
|
オプション |
|
|
<read-write-backing-map-scheme |
オプション |
read-write-backing-map-schemeは、永続ストアのサイズ制限されたキャッシュを提供するバッキング・マップを定義します。 |
オプション |
|
使用場所: distributed-scheme
説明
backup-storage
要素は、パーティション・キャッシュのバックアップ記憶域のタイプと構成を指定します。
要素
次の表は、backup-storage
要素で定義可能なサブ要素について説明しています。
表D-6 backup-storageのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
customタイプにのみ適用されます。カスタム記憶域実装のクラス名を指定します。クラスに |
< |
オプション |
file-mappedタイプにのみ適用されます。ディスク永続性マネージャ( |
< |
オプション |
off-heapおよびfile-mappedタイプにのみ適用されます。バッファの初期サイズをバイト単位で指定します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]]?[K|k|M|m|G|g]?[B|b]? 前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。
値に係数が含まれていない場合は、Mが係数として適用されます。有効な値は、1から |
< |
オプション |
off-heapタイプおよびfile-mappedタイプにのみ適用されます。バッファの初期サイズをバイト単位で指定します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]]?[K|k|M|m|G|g]?[B|b]? 前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。
値に係数が含まれていない場合は、Mが係数として適用されます。有効な値は、1から |
< |
オプション |
schemタイプにのみ適用されます。 |
< |
必須 |
バックアップ・データの保持に使用する記憶域のタイプを指定します。有効な値は次のとおりです。
デフォルト値は、 |
使用場所: external-scheme
、paged-external-scheme
、async-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のサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
Berkeley Database |
< |
オプション |
Berkeley Database JEのストア・マネージャがファイルを格納するルート・ディレクトリのパス名を指定します。指定しない場合、または存在しないディレクトリを指定した場合は、デフォルトの場所にある一時ディレクトリが使用されます。 |
オプション |
追加のBerkeley DBのコンフィギュレーション設定を指定します。Berkeley DBの構成に関する情報を参照してください。 |
|
< |
オプション |
Berkeley Database JEのストア・マネージャがデータを格納するデータベース表名を指定します。このパラメータを指定すると、 |
使用場所: operation-bundling
説明
bundle-config
要素は、1つ以上のバンドル可能な操作に対するバンドル方針の構成を指定します。
要素
表D-8は、bundle-config
要素で定義可能なサブ要素について説明しています。
表D-8 bundle-configのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
(実行時統計に基づく)preferred-size値の自動調整を許可するかどうかを指定します。 有効な値は、 |
< |
オプション |
個別の実行リクエストをバンドルして対応するバルク操作にまとめて渡すため、各実行リクエストに許容される最大遅延時間をミリ秒単位で指定します。指定された遅延時間内にpreferred-sizeしきい値に達した場合は、バンドルが即座に処理されます。 有効な値は正の数値です。デフォルト値は1です。 |
< |
必須 |
複数のスレッドに対して同時実行される呼出しを、機能的に類似した1つのバルク操作にバンドルする操作名を指定します。バルク操作は、単一の引数でなく、引数のコレクションを取ります。 有効な値は、バンドル構成のコンテキストによって異なります。<
<
いずれの場合も、すべての有効な操作に対応する |
< |
オプション |
バンドル・サイズのしきい値を指定します。バンドル・サイズがこの値に達すると、対応するバルク操作が即座に起動されます。この値は、コンテキスト固有の単位で測定されます。 有効な値は、0(バンドルが無効)または正の値です。デフォルト値は0です。 |
< |
オプション |
個別の(非バンドル)リクエストを同時実行することが要求されるスレッドの最小数を指定します。スレッド数がこの値を超えると、バンドル機能がパススルー・モードからバンドル・モードに切り替わります。 有効な値は正の数値です。デフォルト値は4です。 |
ルート要素
説明
cache-config
要素は、キャッシュ・コンフィギュレーション・ディスクリプタcoherence-cache-config.xml
のルート要素です。このドキュメントの詳細は、「キャッシュ・コンフィギュレーション・デプロイメント・ディスクリプタ」を参照してください。
高レベルのキャッシュ・コンフィギュレーションは、キャッシュ・スキームとキャッシュ・スキーム・マッピングで構成されます。キャッシュ・スキームには、(データベースでバッキングされる分散キャッシュなど)キャッシュのタイプを記述します。キャッシュのマッピングには、特定のキャッシュ名に対して使用されるスキームを定義します。
要素
表D-9は、cache-config
要素で定義可能なサブ要素について説明しています。
表D-9 cache-configのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
必須 |
キャッシュ名に基づいて、キャッシュに使用されるキャッシュ・スキームを指定します。 |
|
必須 |
クラスタ内で使用可能なキャッシュ・スキームを定義します。 |
使用場所: caching-scheme-mapping
説明
cache-mapping
要素によって、特定のキャッシュ名またはパターンで使用されるcaching-schemesが指定されます。
要素
表D-10は、cache-mapping
要素で定義可能なサブ要素について説明しています。
表D-10 cache-mappingのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
必須 |
キャッシュ名または名前のパターンを指定します。この名前はキャッシュ・ファクトリ内で一意です。サポートされるキャッシュ名のパターンは次のとおりです。
パターンは特異性の高い順に一致します(可能なかぎり、特異性のある定義から選択されます)。たとえば、 |
< |
必須 |
キャッシュ・スキーム名を記述します。この名前はコンフィギュレーション・ファイル内で一意です。キャッシュ・スキームはcaching-schemes要素で構成されます。 |
オプション |
置換可能なキャッシュ・スキーム・パラメータの指定を可能にします。キャッシュ・スキームの解析時に、形式 <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>
|
使用場所: proxy-config
説明
cache-service-proxy
要素には、プロキシ・サービスによって管理されるキャッシュ・サービス・プロキシの構成情報を記述します。
要素
表D-11は、cache-service-proxy
要素で定義可能なサブ要素について説明しています。
表D-11 cache-service-proxyのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
キャッシュ・サービス・プロキシが有効化されているかどうかを指定します。無効化されている場合、クライアントはプロキシ・キャッシュにアクセスできません。有効な値は、 |
< |
オプション |
リモート・クライアントからのロック・リクエストをプロキシ・キャッシュで許可するかどうかを指定します。有効な値は、 |
< |
オプション |
リモート・クライアントからのキャッシュ更新リクエストをプロキシ・キャッシュで禁止するかどうかを指定します。有効な値は、 |
使用場所: local-scheme、read-write-backing-map-scheme、versioned-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> |
オプション |
継承元の別のスキーム名を指定します。「スキームの継承」を参照してください。 |
オプション |
キャッシュ・ストアの実装を指定します。指定されたクラスでは、次のいずれかのインタフェースを実装する必要があります。
|
|
オプション |
キャッシュ・ストアの実装としてCoherence*Extendを使用するようcachestore-schemeを構成します。 |
|
オプション |
バンドル方針の構成情報を指定します。 |
使用場所: cache-config
説明
キャッシュ名(または名前のパターン)とcaching-schemesとのマッピングを定義します。たとえば、名前がaccounts-
で始まるキャッシュでは分散(distributed-scheme)キャッシュ・スキームを使用し、名前がrates-
で始まるキャッシュではreplicated-scheme
キャッシュ・スキームを使用するように定義できます。
要素
表D-13は、caching-scheme-mapping
要素で定義可能なサブ要素について説明しています。
表D-13 caching-scheme-mappingのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
オプション |
キャッシュ名と、このキャッシュで使用するキャッシュ・スキームとの単一バインディングを記述します。 |
使用場所: 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のサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
オプション |
on-heapキャッシュ記憶域を提供するキャッシュ・スキームを定義します。 |
|
オプション |
off-heapキャッシュ記憶域(オンディスク・キャッシュなど)を提供するキャッシュ・スキームを定義します。 |
|
オプション |
時間ベースのページングを使用してサイズ制限される、off-heapキャッシュ記憶域を提供するキャッシュ・スキームを定義します。 |
|
オプション |
キャッシュ・エントリの記憶域がクラスタ・ノード全体でパーティション化されるキャッシュ・スキームを定義します。 |
|
オプション |
各キャッシュ・エントリがすべてのクラスタ・ノードに格納されるキャッシュ・スキームを定義します。 |
|
オプション |
ペシミスティック・ロックではなくオプティミスティック・ロックを使用するレプリケーション・キャッシュ・スキームを定義します。 |
|
オプション |
高速のローカル・フロント層と大規模なバック層のキャッシュで構成される2層キャッシュ・スキームを定義します。 |
|
オプション |
オブジェクトのバージョニングを使用してフロント層とバック層の一貫性を維持するニア・スキームを定義します。 |
|
オプション |
サイズ制限のあるフロント層のオーバーフローで削除されたエントリが大規模なバック層キャッシュに格納される2層キャッシュ・スキームを定義します。 |
|
オプション |
クラスタ・ノード全体でカスタム操作をパラレルに実行するための起動サービスを定義します。 |
|
オプション |
永続ストアのキャッシュを提供するバッキング・マップ・スキームを定義します。 |
|
オプション |
オブジェクトのバージョニングを使用して、永続ストアに書き込む必要のある更新を判断するバッキング・マップ・スキームを定義します。 |
|
オプション |
Coherence*Extendを使用してCoherenceクラスタ外部からのキャッシュへのアクセスを有効にするキャッシュ・スキームを定義します。 |
|
オプション |
キャッシュのカスタム実装を使用してキャッシュ・スキームを定義します。カスタム実装では、 |
|
オプション |
注意: Coherence 3.0以降、disk-scheme構成要素は非推奨になり、external-schemeおよびpaged-external-scheme構成要素に置き換えられています。 |
使用場所: caching-schemes
、local-scheme
、distributed-scheme
、replicated-scheme
、optimistic-scheme
、near-scheme
、versioned-near-scheme
、overflow-scheme
、read-write-backing-map-scheme
、versioned-backing-map-scheme
、cachestore-scheme
、listener
説明
クラス・スキームは、任意のJavaオブジェクトをインスタンス化して、他のスキームでの使用を可能にするメカニズムを提供します。この要素を含むスキームによって、拡張の必要なクラスまたはインタフェースが指定されます。class-scheme
の使用例については、「データベースのキャッシュ」を参照してください。
class-scheme
では、class-name
を使用して直接的に、またはclass-factory-name
およびmethod-name
を使用して間接的にオブジェクトのインスタンス化を構成できます。class-scheme
は、class-name
で構成するか、class-factory-name
とmethod-name
で構成する必要があります。
要素
表D-15は、class-scheme
要素で定義可能なサブ要素について説明しています。
表D-15 class-schemeのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
インスタンス化するJavaクラスの完全修飾名を記述します。このクラスは、含まれるスキームの記述に従って適切な実装クラスを拡張し、スーパークラスと完全に同一のpublicなコンストラクタのセットを宣言する必要があります。 |
< |
オプション |
オブジェクトのインスタンス化でファクトリとして使用されるJavaクラスの完全修飾名を指定します。 |
< |
オプション |
オブジェクトのインスタンス化を実行する、ファクトリ・クラスのstaticなファクトリ・メソッドの名前を指定します。 |
オプション |
|
使用場所: external-scheme
、paged-external-scheme
、async-store-manager
説明
外部キャッシュで使用するストア・マネージャのカスタム実装の作成および構成に使用されます。
要素
表D-16は、custom-store-manager
要素で定義可能なサブ要素について説明しています。
表D-16 custom-store-managerのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
必須 |
ストア・マネージャの実装を指定します。指定したクラスは、 |
オプション |
初期化パラメータを指定します。このパラメータは、 |
注意: Coherence 3.0以降、disk-scheme構成要素は非推奨になり、<external-scheme>および<paged-external-scheme>構成要素に置き換えられています。 |
使用場所: caching-schemes
、near-scheme
、versioned-near-scheme
、overflow-scheme
、versioned-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のサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
このスキームで作成されたキャッシュを管理するサービス名を指定します。サービスは、 |
< |
オプション |
パーティション・サービスがユーザー定義型のシリアライズおよびデシリアライズに使用する、 次の例では、デフォルトの <serializer> <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name> </serializer> |
< |
オプション |
キャッシュ上で発生しているイベントの通知を受け取る |
オプション |
キャッシュ・サーバー内でのエントリの格納に使用するキャッシュのタイプを指定します。 バッキング・マップ・スキームの内容は、オプションの値で開始することも可能です。 < 有効な子スキームは次のとおりです。 オーバーフロー・ベースのバッキング・マップを使用する際は、対応する< |
|
< |
オプション |
パーティション(分散)キャッシュを分割するパーティションの数を指定します。パーティション・キャッシュ・サービスを実行し、local-storage( パーティションの数は素数とし、いずれのパーティションのサイズも50MBを超えることのないように十分なパーティション数を指定する必要があります。 次に、サンプルのサービス記憶域サイズの適切なデフォルト設定を示します。 service storage parition-count _______________ ______________ 100M 257 1G 509 10G 2039 50G 4093 100G 8191 最初の1,000個の素数のリストについては、次のサイトを参照してください。 有効値は正の整数です。デフォルト値は、 |
オプション |
キー間の対応付けを行い、対応付けられたキーの同一パーティションへの格納を可能にするクラスを指定します。この実装には、パラメータがゼロのpublicなコンストラクタが必要です。 |
|
オプション |
|
|
オプション |
|
|
< |
オプション |
パーティション・キャッシュ・サービスのうち、各保存単位のバックアップ・データをキャッシュに保持するメンバーの数を指定します。この値が0になっていると、異常終了した場合にキャッシュ内のデータの一部が失われます。この値がNになっていると、即座に終了したクラスタ・ノードの数がN以内の場合、キャッシュ・データが保持されます。サイズMのパーティション・キャッシュを維持する場合、クラスタ内の合計メモリー使用量はクラスタ・ノードの数に依存するのではなく、M*(N+1)となります。推奨値は0または1です。デフォルト値は、 |
< |
オプション |
ライトビハインドを必要としないキャッシュ内の各保存単位のバックアップ・データ(つまり、クラスタ全体がシャットダウンしても失われにくいデータ)を保持する、パーティション・キャッシュ・サービスのメンバー数を指定します。具体的には、保存単位にライトビハインドが必要であると指定されている場合は、 この要素の値は0に設定するか、要素の指定を完全に省略する必要があります。論理的な根拠として、このデータは別のデータ・ストアにバックアップされるため、書込み対象のライトビハインド・キューにデータが一時的に配置される場合を除いて、メモリー内でのバックアップは必要ありません。この設定は、ライトスルー・データや、 推奨値は0です。それ以外の場合は、この要素の指定を完全に省略してください。 |
オプション |
パーティション・キャッシュのバックアップ記憶域のタイプと構成を指定します。 |
|
< |
オプション |
パーティション・キャッシュ・サービスで使用されるデーモン・スレッドの数を指定します。ゼロの場合、関連するタスクはすべて、サービス・スレッドで実行されます。有効な値は、正の整数またはゼロです。デフォルト値は、 |
< |
オプション |
リース所有権の精度を指定します。リリース2.3以降で使用できます。有効な値は次のとおりです。
値がthreadの場合、ロックはそのロックを取得したスレッドによって保持され、そのスレッドによってのみ解放されます。値がmemberの場合、ロックはクラスタ・ノードによって保持され、ロックを取得したクラスタ・ノード上で実行されるスレッドによって解放できます。デフォルト値は、 |
< |
オプション |
プライマリ・バケット分散のしきい値をキロバイト単位で指定します。パーティション・キャッシュ・サービスに新しいノードが結合する場合、またはサービスのメンバーのいずれかの結合が解除される場合、残りのノードによって、バケット所有権の再分散タスクが実行されます。このプロセスでは、所有権情報とともに既存のデータの均衡化が再実行されます。このパラメータでは、データ転送通信で優先されるメッセージ・サイズを示します。この値を低く設定すると、分散プロセスの所要時間は長くなりますが、このアクティビティ実行中のネットワーク帯域幅の使用量は軽減されます。有効な値は、ゼロより大きな整数です。デフォルト値は、 |
< |
オプション |
クラスタ・ノードをクラスタの記憶域として機能させる(つまり、パーティションを保持する)かどうかを指定します。無効化した場合、そのノードはキャッシュ・クライアントと見なされます。 通常、コンフィギュレーション・ファイル内ではこの値を未指定にしておき、システム・プロパティtangosol.coherence.distributed.localstorageを使用し、プロセスごとに設定します。これによって、キャッシュ・クライアントとキャッシュ・サーバーは、同じコンフィギュレーション・ディスクリプタを使用できます。 有効な値は、 |
< |
オプション |
|
< |
オプション |
タスクが実行できる時間をミリ秒単位で指定します。この時間を超過すると、ハングしたと見なされます。注意: ポストされたタスクがまだ開始されていない場合は、ハングと見なされません。この属性は、スレッド・プールが使用されている( |
< |
オプション |
サービス・ワーカー・スレッド上で実行するリクエストのタイムアウト値をミリ秒単位で指定します。この属性は、スレッド・プールが使用されている( |
< |
オプション |
レスポンスが来るまでクライアントが待機する最大時間を指定します。この時間を超過すると、元のリクエストが破棄されます。リクエスト時間はクライアント側で測定されるもので、対応するサーバー・ノードに対して実行のためのリクエストが送信されてからの経過時間に次の時間を加えたものです。
有効な値は、正の整数またはゼロです(ゼロの場合は、デフォルト・タイムアウトがないことを示します)。デフォルト値は、 |
オプション |
バンドル方針の構成情報を指定します。 |
使用場所: caching-schemes
、distributed-scheme
、replicated-scheme
、optimistic-scheme
、near-scheme
、versioned-near-scheme
、overflow-scheme
、read-write-backing-map-scheme
、versioned-backing-map-scheme
説明
外部スキームを使用すると、JVMヒープ・ベースでないキャッシュを定義することで大容量の記憶域の使用が可能になります。様々な外部キャッシュの構成例は、「ローカル・キャッシュ(単一のJVMからアクセス可能)」を参照してください。
実装
このスキームは、次を使用して実装されます。
com.tangosol.net.cache.SerializationMap
: サイズ制限のないキャッシュ
com.tangosol.net.cache.SerializationCache
: サイズ制限のあるキャッシュ
実装タイプは次の規則に従って選択されます。
<high-units>
サブ要素に0以外の値が指定されている場合はSerializationCache
が使用されます。
これ以外の場合はSerializationMap
が使用されます。
プラッガブルなストレージ・マネージャ
外部スキームでは、プラッガブルなストア・マネージャを使用して、バイナリ・キー値のペアの格納と取得を行います。サポートされるストア・マネージャは次のとおりです。
他のストア・マネージャの実装に対して非同期の書込み機能を提供するラッパー
ストア・マネージャのカスタム実装定義が可能
オンディスク・キャッシュの実装にBerkeley Database JEを使用
オンディスク・データベース・キャッシュの実装にCoherence LHを使用
メモリーマップ・ファイル・ベースのキャッシュの実装にNIOを使用
JVMヒープ外キャッシュ(インメモリー・キャッシュ)の実装にNIOを使用
サイズ制限のあるキャッシュ
このキャッシュはサイズ制限のあるキャッシュとして構成できます。これにより、キャッシュが最大許容サイズ(<high-units>
サブ要素)に達すると、自動的に小さなサイズへのプルーニングが行われます。
エントリの有効期限
外部スキームでは、<expiry-delay>
サブ要素の構成に従って、値の有効期間に基づいたエントリの自動失効がサポートされます。
永続性(長期記憶域)
外部キャッシュは一般に、大きなデータ・セットの一時記憶域(たとえば、overflow-scheme
のバック層)として使用されます。ただし、一部の実装では非クラスタ・キャッシュの永続性がサポートされます。詳細は、bdb-store-manager
の<store-name>
サブ要素およびlh-file-manager
の<manager-filename>
サブ要素を参照してください。クラスタ化の永続性は、distributed-scheme
のread-write-backing-map-scheme
を使用して構成します。
要素
表D-18は、external-scheme
要素で定義可能なサブ要素について説明しています。
表D-18 external-schemeのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
外部キャッシュのカスタム実装を指定します。カスタム実装では、次のいずれかのクラスを拡張する必要があります。
また、スーパークラスと完全に同一のpublicなコンストラクタのセットを宣言する必要があります。 |
< |
オプション |
初期化パラメータを指定します。このパラメータは、 |
< |
オプション |
キャッシュ上で発生しているイベントの通知を受け取る |
< |
オプション |
キャッシュのサイズを制限するために使用されます。この要素には、プルーニングが開始されるまでキャッシュに配置できる単位の最大数を記述します。エントリは測定単位になります。この制限を超えると、キャッシュでプルーニング・プロセスが開始され、単位数がこの制限を下回るまで最低使用頻度のエントリが順番に削除されます。スキームの |
< |
オプション |
使用する単位換算カリキュレータのタイプを指定します。単位換算カリキュレータは、特定のオブジェクトのコスト(単位)の決定に使用されます。有効な値は次のとおりです。
この要素は、 |
< |
オプション |
unit-factor要素は、units、low-unitsおよびhigh-unitsの各プロパティの調整に使用する係数を指定します。たとえば、 たとえば、BINARY単位換算カリキュレータでは、係数1048576を使用してバイトをメガバイトに換算できます。 注意: この要素は、units、low-unitsおよびhigh-unitsの各プロパティのタイプを32ビット値から64ビット値に変更することを回避するためにのみ導入されたものであり、high-units要素が正の数値に設定されている場合にのみ使用されます。Coherence 4ではこの要素が削除される見込みです。 有効な値は正の整数です。デフォルト値は1です。 |
< |
オプション |
前回の更新からエントリが期限切れとなるまでの、キャッシュでエントリが保持される期間を指定します。期限切れになったエントリはアクセス不能となり削除されます。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、秒が単位として適用されます。値0は期限がないことを意味します。デフォルト値は0です。 |
オプション |
他のストレージ・マネージャに対して非同期のストレージ・マネージャ・ラッパーを使用するよう外部キャッシュを構成します。「プラッガブルなストレージ・マネージャ」を参照してください。 |
|
オプション |
ストレージ・マネージャのカスタム実装を使用するよう外部キャッシュを構成します。 |
|
オプション |
キャッシュ記憶域にBerkeley Database JEのオンディスク・データベースを使用するよう外部キャッシュを構成します。 |
|
オプション |
キャッシュ記憶域にCoherence LHのオンディスク・データベースを使用するよう外部キャッシュを構成します。 |
|
オプション |
キャッシュ記憶域にメモリーマップ・ファイルを使用するよう外部キャッシュを構成します。 |
|
オプション |
キャッシュ記憶域にJVMヒープ外のメモリー領域を使用するよう外部キャッシュを構成します。 |
使用場所: remote-cache-scheme、remote-invocation-scheme
説明
initiator-config
要素は、プロトコル固有の接続イニシエータの構成情報を指定します。接続イニシエータを使用すると、Coherence*Extendクライアントからクラスタへの接続が有効になり、クライアントがクラスタに参加していなくても、クラスタの提供するサービスを使用できるようになります。
initiator-config
要素には、プロトコル固有の接続イニシエータの構成要素を1つだけ記述します(jms-initiator
またはtcp-initiator
)。
要素
表D-19は、initiator-config
要素で定義可能なサブ要素について説明しています。
表D-19 initiator-configのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
オプション |
JMSを介してクラスタに接続する、接続イニシエータの構成情報を指定します。 |
|
オプション |
クライアントからクラスタへの接続の切断を検出するために接続イニシエータで使用される構成情報を指定します。 |
|
< |
オプション |
接続イニシエータがユーザー定義型のシリアライズおよびデシリアライズに使用する、 <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/IPを介してクラスタに接続する、接続イニシエータの構成情報を指定します。 |
|
< |
オプション |
この接続イニシエータで使用する< <use-filters> <filter-name>gzip</filter-name> </use-filters> |
使用場所: init-params
個別の初期化パラメータを定義します。
要素
表D-20は、init-param
要素で定義可能なサブ要素について説明しています。
表D-20 init-paramのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
初期化パラメータの名前を記述します。次に例を示します。 <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> |
< |
オプション |
初期化パラメータのJavaタイプを記述します。次の標準タイプがサポートされています。
次に例を示します。 <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「キャッシュ・コンフィギュレーションのパラメータ・マクロ」を参照してください。 |
< |
オプション |
初期化パラメータの値を記述します。この値は、パラメータのJavaタイプに固有の形式にします。使用可能なマクロのリストについては、付録E「キャッシュ・コンフィギュレーションのパラメータ・マクロ」を参照してください。 |
使用場所: class-scheme、cache-mapping
説明
一連の初期化パラメータを、名前と値のペアで定義します。init-params
の使用例については、「データベースのキャッシュ」を参照してください。
要素
表D-21は、init-params
要素で定義可能なサブ要素について説明しています。
使用場所: caching-schemes
説明
起動サービスを定義します。起動サービスは、任意の数のクラスタ・ノード上でカスタム操作をパラレルに実行するために使用します。詳細は、com.tangosol.net.InvocationService
APIを参照してください。
要素
次の表は、invocation-scheme要素で定義可能なサブ要素について説明しています。
表D-22 invocation-schemeのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
このスキームからの起動を管理するサービス名を指定します。 |
< |
オプション |
<serializer> <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name> </serializer> サービスは、 |
< |
オプション |
起動サービスで使用されるデーモン・スレッドの数を指定します。ゼロの場合、関連するタスクはすべて、サービス・スレッドで実行されます。有効な値は、正の整数またはゼロです。デフォルト値は、 |
< |
オプション |
|
<task-hung-threshold> |
オプション |
タスクが実行できる時間をミリ秒単位で指定します。この時間を超過すると、ハングしたと見なされます。注意: ポストされたタスクがまだ開始されていない場合は、ハングと見なされません。この属性は、スレッド・プールが使用されている( |
<task-timeout> |
オプション |
タイムアウト可能なタスク(たとえば、 |
<request-timeout> |
オプション |
タイムアウト可能なリクエスト(たとえば、 (1)実行側のノード(サーバー)にリクエストを配信するための所要時間(2)タスクが受信されてサービス・キューに入れられてから実行が開始されるまでの間隔(3)タスクの実行時間(4)クライアントに結果を返信するための所要時間 有効な値は、正の整数またはゼロです(ゼロの場合は、デフォルト・タイムアウトがないことを示します)。デフォルト値は、 |
使用場所: proxy-config
説明
invocation-service-proxy
要素には、プロキシ・サービスによって管理される起動サービス・プロキシの構成情報を記述します。
要素
表D-23は、invocation-service-proxy
要素で定義可能なサブ要素について説明しています。
表D-23 invocation-service-proxyのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
起動サービス・プロキシが有効化されているかどうかを指定します。無効化されている場合、クライアントはプロキシ・サービスJVMでInvocableオブジェクトを実行できません。有効な値は、 |
注意: Coherence*Extend-JMSのサポートは非推奨になりました。 |
使用場所: acceptor-config
説明
jms-acceptor
要素は、Coherence*ExtendクライアントからのJMSを介した接続を受け入れる接続アクセプタの構成情報を指定します。詳細および構成例については、第17章「Coherence*Extendの構成と使用」を参照してください。
要素
表D-24は、jms-acceptor
要素で定義可能なサブ要素について説明しています。
表D-24 jms-acceptorのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
必須 |
接続アクセプタで使用されるJMS |
< |
必須 |
接続アクセプタで使用されるJMS QueueのJNDI名を指定します。 |
注意: Coherence*Extend-JMSのサポートは非推奨になりました。 |
使用場所: initiator-config
説明
jms-initiator
要素は、Coherence*Extendクライアントからリモート・クラスタへのJMSを介した接続を有効にする接続イニシエータの構成情報を指定します。詳細および構成例については、第17章「Coherence*Extendの構成と使用」を参照してください。
要素
次の表は、jms-initiator要素で定義可能なサブ要素について説明しています。
表D-25 jms-initiatorのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
必須 |
接続イニシエータで使用されるJMS |
< |
必須 |
接続イニシエータで使用されるJMS QueueのJNDI名を指定します。 |
< |
オプション |
接続アクセプタとの接続を確立するまで待機する最大時間を指定します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルト値は無限のタイムアウトです。 |
使用場所: distributed-scheme
説明
キーの対応付けを決定するcom.tangosol.net.partition.KeyAssociator
の実装を指定します。これにより、関連するキーを同じパーティションに格納できます。
また、com.tangosol.net.cache.KeyAssociation
インタフェースを実装することにより、キャッシュのキーで対応付けを管理することもできます。
要素
表D-26は、key-associator要素で定義可能なサブ要素について説明しています。
表D-26 key-associatorのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
必須 |
|
使用場所: distributed-scheme
説明
キーを格納するパーティションを決定するために使用されるcom.tangosol.net.partition.KeyPartitioningStrategy
の実装を指定します。
要素
表D-27は、key-partitioning要素で定義可能なサブ要素について説明しています。
表D-27 key-partitioningのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
必須 |
|
使用場所: external-scheme、paged-external-scheme、async-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のサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
LH |
オプション |
初期化パラメータを指定します。このパラメータは、 |
|
< |
オプション |
LHファイル・マネージャがファイルを格納するルート・ディレクトリのパス名を指定します。指定しない場合、または存在しないディレクトリを指定した場合には、デフォルトの場所にある一時ファイルが使用されます。 |
< |
オプション |
LHファイル・マネージャがデータを格納する非一時(永続)ファイルの名前を指定します。このパラメータを指定すると、lh-file-managerでは非一時データベース・インスタンスが使用されます。このパラメータは、非一時ファイルのキャッシュ・ローダーでバッキングされるローカル・キャッシュを対象としてのみ使用されるもので、これにより、ローカル・キャッシュには起動時にディスク・ファイルからデータが事前移入されるようになります。指定する際は、付録E「キャッシュ・コンフィギュレーションのパラメータ・マクロ」で説明されている |
使用場所: local-scheme
、external-scheme
、paged-external-scheme
、distributed-scheme
、replicated-scheme
、optimistic-scheme
、near-scheme
、versioned-near-scheme
、overflow-scheme
、read-write-backing-map-scheme
、versioned-backing-map-scheme
説明
Listener要素は、キャッシュ上で発生しているイベントの通知を受け取るcom.tangosol.util.MapListener
の実装を指定します。
要素
次の表は、listener要素で定義可能なサブ要素について説明しています。
表D-29 listenerのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
必須 |
使用するlistener実装の完全なクラス名を指定します。指定したクラスは、 |
使用場所: caching-schemes
、distributed-scheme
、replicated-scheme
、optimistic-scheme
、near-scheme
、versioned-near-scheme
、overflow-scheme
、read-write-backing-map-scheme
、versioned-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のサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
このスキームで作成されたキャッシュを管理するサービス名を指定します。サービスは、 |
< |
オプション |
ローカル・キャッシュのカスタム実装を指定します。カスタム実装では、 |
オプション |
初期化パラメータを指定します。このパラメータは、 |
|
< |
オプション |
キャッシュ上で発生しているイベントの通知を受け取る |
オプション |
キャッシュの対象となるストアを指定します。指定しない場合、キャッシュ・データはメモリー内にのみ配置され、そのキャッシュに対して実行された操作のみを反映します。 |
|
< |
オプション |
使用するエビクション・ポリシーのタイプを指定します。有効な値は次のとおりです。
デフォルト値は |
< |
オプション |
キャッシュのサイズを制限するために使用されます。この要素には、プルーニングが開始されるまでキャッシュに配置できる単位の最大数を記述します。別のunit-calculator( |
< |
オプション |
プルーニングを実行する際にどこまでキャッシュを小さくするかを示す単位数を記述します。別のunit-calculator( |
< |
オプション |
使用する単位換算カリキュレータのタイプを指定します。単位換算カリキュレータは、特定のオブジェクトのコスト(単位)の決定に使用されます。有効な値は次のとおりです。
この要素は、 |
< |
オプション |
unit-factor要素は、units、low-unitsおよびhigh-unitsの各プロパティの調整に使用する係数を指定します。たとえば、 たとえば、BINARY単位換算カリキュレータでは、係数1048576を使用してバイトをメガバイトに換算できます。 注意: この要素は、units、low-unitsおよびhigh-unitsの各プロパティのタイプを32ビット値から64ビット値に変更することを回避するためにのみ導入されたものであり、high-units要素が正の数値に設定されている場合にのみ使用されます。Coherence 4ではこの要素が削除される見込みです。 有効な値は正の整数です。デフォルト値は1です。 |
< |
オプション |
unit-factor要素は、units、low-unitsおよびhigh-unitsの各プロパティの調整に使用する係数を指定します。たとえば、 有効な値は正の整数です。デフォルト値は1です。 注意: この要素は、units、low-unitsおよびhigh-unitsの各プロパティのタイプを32ビット値から64ビット値に変更することを回避するためにのみ導入されました。 |
< |
オプション |
前回の更新からエントリが期限切れとマークされるまでの、キャッシュでエントリが保持される期間を指定します。期限切れエントリの読取りを試行すると、対象エントリが構成済のキャッシュ・ストア(< [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、秒が単位として適用されます。値0は期限がないことを意味します。デフォルト値は0です。 |
< |
オプション |
定期的なキャッシュのフラッシュを行う時間間隔を指定します。これにより、期限切れのエントリがキャッシュから破棄されてリソースが解放されます。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、秒が単位として適用されます。 |
使用場所: 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のサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
ニア・キャッシュのカスタム実装を指定します。カスタム実装では、 |
オプション |
初期化パラメータを指定します。このパラメータは、 |
|
< |
オプション |
キャッシュ上で発生しているイベントの通知を受け取る |
< |
必須 |
フロント層キャッシュの作成に使用する front-schemeのエビクション・ポリシーによって、ローカルにキャッシュされるエントリが定義されます。次に例を示します。 <front-scheme> <local-scheme> <eviction-policy>HYBRID</eviction-policy> <high-units>1000</high-units> </local-scheme> </front-scheme> |
< |
必須 |
バック層キャッシュの作成に使用する 次に例を示します。 <back-scheme> <distributed-scheme> <scheme-ref>default-distributed</scheme-ref> </distributed-scheme> </back-scheme> |
< |
オプション |
フロント層およびバック層の同期を保持するために使用される方針を指定します。詳細は、
デフォルト値は |
< |
オプション |
autostart要素は、キャッシュ・サーバー(つまり、 |
使用場所: external-scheme
、paged-external-scheme
、async-store-manager
説明
記憶域にメモリーマップ・ファイルを使用する外部ストアを構成します。
実装
このストア・マネージャは、com.tangosol.io.nio.MappedStoreManager
クラスによって実装されます。このクラスで作成されるBinaryStore
オブジェクトは、com.tangosol.io.nio.BinaryMapStore
のインスタンスです。
要素
表D-32は、nio-file-manager
要素で定義可能なサブ要素について説明しています。
表D-32 nio-file-managerのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
ローカル・キャッシュのカスタム実装を指定します。カスタム実装では、com.tangosol.io.nio.MappedStoreManagerクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。 |
オプション |
初期化パラメータを指定します。このパラメータは、 |
|
< |
オプション |
バッファの初期サイズをメガバイト単位で指定します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]? 前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。
値に係数が含まれていない場合は、Mが係数として適用されます。有効な値は、1から |
< |
オプション |
バッファの最大サイズをバイト単位で指定します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]? 前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。
値に係数が含まれていない場合は、Mが係数として適用されます。有効な値は、1から |
< |
オプション |
このマネージャがファイルを格納するルート・ディレクトリのパス名を指定します。指定しない場合、または存在しないディレクトリを指定した場合には、デフォルトの場所にある一時ファイルが使用されます。 |
使用場所: external-scheme
、paged-external-scheme
、async-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のサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
ローカル・キャッシュのカスタム実装を指定します。カスタム実装では、 |
オプション |
初期化パラメータを指定します。このパラメータは、 |
|
< |
オプション |
バッファの初期サイズをバイト単位で指定します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]? 前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。
値に係数が含まれていない場合は、Mが係数として適用されます。有効な値は、1から |
< |
オプション |
バッファの最大サイズをバイト単位で指定します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]? 前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。
値に係数が含まれていない場合は、Mが係数として適用されます。有効な値は、1から |
使用場所: cachestore-scheme
、distributed-scheme
、remote-cache-scheme
説明
operation-bundling
要素は、特定のバンドル方針の構成情報を指定します。
バンドルとは、複数の個別の操作をいくつかの束(バンドル)にまとめるプロセスです。これは次のような場合に役立ちます。
複数のスレッド上に連続的な操作ストリームがパラレルに存在する場合。
各操作の(ネットワークまたはデータベースに関連した)待機時間が比較的長い場合。
待機時間を(コレクション・サイズに応じて)線形に増加させることなく、単一引数のかわりに引数のコレクションを取る、機能的に類似したバルク操作が存在する場合。
注意: 他のバンドル・アルゴリズム同様、リソース使用率とリクエストの平均待機時間との間には必然的なトレードオフが存在します。この機能を有効化することによって全体的なアプリケーションのパフォーマンスが向上するか低下するかは、各アプリケーションの使用パターンによって異なります。 |
実装の詳細は、com.tangosol.net.cache.AbstractBundler
を参照してください。
要素
表D-34は、operation-bundling
要素のサブ要素について説明しています。
使用場所: caching-schemes、near-scheme、versioned-near-scheme、overflow-scheme
オプティミスティック・スキームは、サービスを実行するすべてのクラスタ・ノードに自身の全データを完全にレプリケートするキャッシュを定義します(<service-name>
サブ要素を参照)。オプティミスティック・キャッシュの詳細は、付録B「Coherenceのキャッシュのタイプ」を参照してください。
オプティミスティック・ロック
replicated-schemeやdistributed-schemeのキャッシュと異なり、オプティミスティック・キャッシュでは並行処理制御(ロック)がサポートされません。エントリに対する個々の操作はアトミックですが、キャッシュに格納された値がアトミック操作間で変更されない保証はありません。並行処理制御がないため、オプティミスティック・キャッシュでは非常に高速な書込み操作が実現されます。
キャッシュ記憶域(バッキング・マップ)
キャッシュの記憶域はbacking-map-schemeを使用して指定します(<backing-map-scheme>
サブ要素を参照)。たとえば、バッキング・マップにlocal-scheme
を使用するオプティミスティック・キャッシュでは、キャッシュ・エントリがメモリー内に格納されます。
要素
表D-35は、optimistic-scheme
要素で定義可能なサブ要素について説明しています。
表D-35 optimistic-schemeのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
<scheme-ref> |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
<service-name> |
オプション |
このスキームで作成されたキャッシュを管理するサービス名を指定します。サービスは、 |
< |
オプション |
キャッシュ上で発生しているイベントの通知を受け取る |
< |
オプション |
キャッシュ・サーバー内でのエントリの格納に使用するキャッシュのタイプを指定します。有効な値は次のとおりです。 キャッシュの一貫性を確保するため、オプティミスティック・キャッシュのバッキング・マップでは、キャッシュ・エントリのロードにリードスルー・パターンを使用しません。キャッシュ・サービスの外部でキャッシュアサイド・パターンを使用するか、クラスタ・キャッシュのリードスルーをサポートする |
< |
オプション |
|
使用場所: acceptor-config
、initiator-config
説明
outgoing-message-handler
は、クライアントからクラスタへの接続の切断を検出するために使用される構成情報を指定します。コネクションレスのプロトコルを使用する接続イニシエータおよび接続アクセプタでは、この情報は、切断された接続に割り当てられていたリソースを前もって検出および解放するために必要です。この情報は、接続指向のイニシエータおよびアクセプタでも、接続の切断を検出するための追加メカニズムとして使用できます。
要素
表D-36は、outgoing-message-handler要素で定義可能なサブ要素について説明しています。
表D-36 outgoing-message-handlerのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
pingリクエストの間隔を指定します。pingリクエストは、接続の整合性を確保するために使用します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、ミリ秒が単位として適用されます。値0はpingリクエストがないことを意味します。デフォルト値は0です。 |
< |
オプション |
pingリクエストへのレスポンスに対する最大待機時間を指定します。この時間を超過すると、基礎となる接続が使用不能と宣言されます。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルト値は、 |
< |
オプション |
レスポンス・メッセージに対する最大待機時間を指定します。この時間を超過すると、基礎となる接続が使用不能と宣言されます。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルト値は無限のタイムアウトです。 |
使用場所: caching-schemes
、distributed-scheme
、replicated-scheme
、optimistic-scheme
、read-write-backing-map-scheme
、versioned-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> |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
オーバーフロー・キャッシュのカスタム実装を指定します。カスタム実装は、 |
オプション |
初期化パラメータを指定します。このパラメータは、 |
|
< |
オプション |
キャッシュ上で発生しているイベントの通知を受け取る |
< |
必須 |
フロント層キャッシュの作成に使用する front-schemeのエビクション・ポリシーによって、フロント層およびバック層に格納するエントリとアイテムが定義されます。次に例を示します。 <front-scheme> <local-scheme> <eviction-policy>HYBRID</eviction-policy> <high-units>1000</high-units> </local-scheme> </front-scheme> |
< |
必須 |
バック層キャッシュの作成に使用するcache-schemeを指定します。有効な値は次のとおりです。 次に例を示します。 <back-scheme> <external-scheme> <lh-file-manager/> </external-scheme> </back-scheme> |
< |
オプション |
キャッシュ・ミス情報を保持するcache-schemeを指定します。expiry-enabled( |
< |
オプション |
|
< |
オプション |
前回の更新からエントリが期限切れとなるまでの、キャッシュでエントリが保持される期間を指定します。期限切れになったエントリはアクセス不能となり削除されます。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、秒が単位として適用されます。値0は期限がないことを意味します。デフォルト値は0です。 |
< |
オプション |
|
使用場所: caching-schemes
、distributed-scheme
、replicated-scheme
、optimistic-scheme
、near-scheme
、versioned-near-scheme
、overflow-scheme
、read-write-backing-map-scheme
、versioned-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回のキーボード操作で実行されます。
プラッガブルなストレージ・マネージャ
外部スキームはプラッガブルなストア・マネージャを使用して、ページの作成と破棄、およびこれらのページ内のエントリへのアクセスを実行します。サポートされるストア・マネージャは次のとおりです。
async-store-manager
: 他のストア・マネージャの実装に対して非同期の書込み機能を提供するラッパー。
custom-store-manager
: ストア・マネージャのカスタム実装を定義します。
bdb-store-manager
: Berkeley Database JEを使用してオンディクス・キャッシュを実装します。
lh-file-manager
: Coherence LHを使用してオンディクス・データベース・キャッシュを実装します。
nio-file-manager
: NIOを使用してメモリーマップ・ファイル・ベースのキャッシュを実装します。
nio-memory-manager
: NIOを使用してJVMヒープ外キャッシュ(インメモリー・キャッシュ)を実装します。
永続性(長期記憶域)
外部ページ・キャッシュは、大きなデータ・セットの一時記憶域(たとえば、overflow-schemeのバック層)として使用されます。これらのキャッシュは長期記憶域(永続)としては使用できず、JVMの存続期間を超えて保持することはできません。クラスタ化の永続性は、distributed-schemeのread-write-backing-map-schemeを使用して構成します。非クラスタの永続キャッシュが必要な場合は、「永続性(長期記憶域)」を参照してください。
要素
表D-38は、paged-external-scheme
要素で定義可能なサブ要素について説明しています。
表D-38 paged-external-schemeのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
外部ページ・キャッシュのカスタム実装を指定します。カスタム実装では、com.tangosol.net.cache.SerializationPagedCacheクラスを拡張し、完全に同一のpublicなコンストラクタのセットを宣言する必要があります。 |
オプション |
初期化パラメータを指定します。このパラメータは、 |
|
<listener> |
オプション |
キャッシュ上で発生しているイベントの通知を受け取る |
< |
必須 |
ページ・キャッシュの最大アクティブ・ページ数を指定します。有効な値は、2〜3600の間の正の整数です。 |
< |
オプション |
ページ・キャッシュ内のページを現在のページとする期間を秒単位で指定します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、秒が単位として適用されます。有効な値は、5〜604800秒(1週間)および0(失効なし)です。デフォルト値は0です。 |
オプション |
他のストレージ・マネージャに対して非同期のストレージ・マネージャ・ラッパーを使用するよう外部ページ・キャッシュを構成します。詳細は、「プラッガブルなストレージ・マネージャ」を参照してください。 |
|
オプション |
ストレージ・マネージャのカスタム実装を使用するよう外部ページ・キャッシュを構成します。 |
|
オプション |
キャッシュ記憶域にBerkeley Database JEのオンディスク・データベースを使用するよう外部ページ・キャッシュを構成します。 |
|
オプション |
キャッシュ記憶域にCoherence LHのオンディスク・データベースを使用するよう外部ページ・キャッシュを構成します。 |
|
オプション |
キャッシュ記憶域にメモリーマップ・ファイルを使用するよう外部ページ・キャッシュを構成します。 |
|
オプション |
キャッシュ記憶域にJVMヒープ外のメモリー領域を使用するよう外部ページ・キャッシュを構成します。 |
使用場所: distributed-scheme
説明
com.tangosol.net.partition.PartitionListener
インタフェースの実装を指定します。これにより、パーティション分散イベントの受信が可能になります。
要素
表D-39は、partition-listener
要素で定義可能なサブ要素について説明しています。
表D-39 partition-listenerのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
必須 |
|
使用場所: backing-map-scheme
(distributed-scheme
内でのみ)
説明
partitioned要素は、含まれるバッキング・マップがPartitionAwareBackingMap
かどうかを指定します(この要素は、distributed-scheme
の子であるbacking-map-scheme
でのみ考慮されます)。true
に設定した場合、backing-map-scheme
要素に含まれている特定のスキームは、PartitionAwareBackingMap
の個々のパーティションのバッキング・マップの構成に使用されます。それ以外の場合は、バッキング・マップ全体に対して使用されます。PartitionAwareBackingMap
インタフェースの具体的な実装は次のとおりです。
com.tangosol.net.partition.ObservableSplittingBackingCache
com.tangosol.net.partition.PartitionSplittingBackingCache
com.tangosol.net.partition.ReadWriteSplittingBackingMap
有効な値は、true
またはfalse
です。デフォルト値はfalse
です。
使用場所: proxy-scheme
説明
proxy-config
要素は、プロキシ・サービスによって管理されるクラスタ・サービス・プロキシの構成情報を指定します。サービス・プロキシは、リモート・クライアント(接続アクセプタを使用してクラスタに接続)と、リモート・クライアントが使用するクラスタ・サービスとの間を媒介します。
要素
表D-40は、proxy-config
要素で定義可能なサブ要素について説明しています。
表D-40 proxy-configのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
オプション |
プロキシ・サービスによって管理されるキャッシュ・サービス・プロキシの構成情報を指定します。 |
|
オプション |
プロキシ・サービスによって管理される起動サービス・プロキシの構成情報を指定します。 |
使用場所: caching-schemes
説明
proxy-scheme
要素には、クラスタ・サービスの構成情報を記述します。これにより、Coherence*Extendクライアントは、クラスタへの接続が可能になり、クラスタに参加しなくてもクラスタ・サービスを使用できるようになります。
要素
表D-41は、proxy-scheme
要素で定義可能なサブ要素について説明しています。
表D-41 proxy-schemeのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
サービスの名前を指定します。 |
< |
オプション |
プロキシ・サービスがユーザー定義型のシリアライズおよびデシリアライズに使用する、 <serializer> <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name> </serializer> |
< |
オプション |
タスクが実行できる時間をミリ秒単位で指定します。この時間を超過すると、ハングしたと見なされます。注意: ポストされたタスクがまだ開始されていない場合は、ハングと見なされません。この属性は、スレッド・プールが使用されている( |
< |
オプション |
サービス・ワーカー・スレッド上で実行するリクエストのタイムアウト値をミリ秒単位で指定します。この属性は、スレッド・プールが使用されている( |
<request-timeout> |
オプション |
レスポンスが来るまでクライアントが待機する最大時間を指定します。この時間を超過すると、元のリクエストが破棄されます。リクエスト時間はクライアント側で測定されるもので、対応するサーバー・ノードに対して実行のためのリクエストが送信されてからの経過時間に次の時間を加えたものです。
有効な値は、正の整数またはゼロです(ゼロの場合は、デフォルト・タイムアウトがないことを示します)。デフォルト値は、 |
< |
オプション |
サービスで使用されるデーモン・スレッドの数を指定します。ゼロの場合、関連するタスクはすべて、サービス・スレッドで実行されます。有効な値は、正の整数またはゼロです。デフォルト値は、 |
必須 |
接続アクセプタの構成を記述します。サービスでは、この接続アクセプタを使用してCoherence*Extendクライアントからの接続を受け入れ、クライアントがクラスタに参加していなくても、クラスタの提供するサービスを使用できるようにします。 |
|
オプション |
このサービスによって管理されるクラスタ・サービス・プロキシの構成を記述します。 |
|
< |
オプション |
|
使用場所: caching-schemes
、distributed-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のサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
読取り/書込みバッキング・マップのカスタム実装を指定します。カスタム実装では、 |
オプション |
初期化パラメータを指定します。このパラメータは、 |
|
< |
オプション |
キャッシュ上で発生しているイベントの通知を受け取る |
オプション |
キャッシュするストアを指定します。指定しない場合、キャッシュ・データは内部キャッシュにのみ配置され( |
|
< |
オプション |
CacheStoreの読取りおよび書込み操作に使用するミリ秒単位のタイムアウト時間を指定します。CacheStoreの操作がタイムアウトになると、実行スレッドが中断されて、最終的にキャッシュ・サービスが終了することがあります。 ゼロを指定すると、デフォルトのservice-guardianの 有効な値は、負でない整数です。 |
< |
必須 |
エントリのキャッシュに使用されるcache-schemeを指定します。有効な値は次のとおりです。 |
< |
オプション |
キャッシュ・ミス情報を保持するcache-schemeを指定します。miss-cacheは、キャッシュ・ストアに見つからなかったキーの追跡に使用されます。キャッシュ・ストアにキーがないことを事前に知っておくことで、一部の操作がより迅速に実行されます。処理に時間がかかる可能性のあるキャッシュ・ストアへの問合せを回避できるからです。サイズが制限されたスキームを使用すると、キャッシュされるキャッシュ・ミスの数を制御できます。値を指定しないと、キャッシュ・ミスのデータは保持されません。有効な値は次のとおりです。 |
< |
オプション |
読取り専用にするかどうかを指定します。 |
<write-delay> |
オプション |
ライトビハインド・キューでキャッシュ・ストアに対する非同期の書込みが遅延される時間間隔を指定します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、秒が単位として適用されます。0の場合、キャッシュ・ストアへの同期書込み(キューイングなし)が行われます。それ以外の場合、キャッシュ内の値が最後に更新されてから指定された期間だけ遅延して、書込みが非同期で実行されます。デフォルトは0です。 |
< |
オプション |
D' = (1.0 - F)*D。D = write-delayの間隔、F = write-batch-factor 概念的には、バッチ化された更新を実行する際に、write-behindスレッドでは次のロジックが使用されます。
この要素は、非同期の書込みが有効で(つまり、write-delay要素の値が0より大きくて)、 |
< |
オプション |
ライトビハインド・キューの最大サイズを指定します。ここに、キャッシュ・ストアの失敗した書込み操作が再キューされます。この設定の目的は、失敗したキャッシュ・ストア操作によってライトビハインド・キューがあふれないようにすることです。これは、多数の連続する書込み操作が失敗したときに発生する場合があります。0の場合、ライトビハインドの再キューが無効になります。有効な値は、正の整数またはゼロです。デフォルトは0です。 |
< |
オプション |
refresh-ahead-factor要素は、キャッシュ・エントリのソフト失効時間の計算に使用されます。ソフト失効時間は、実際の失効時間より前の時点になります。これより後では、エントリへのアクセス・リクエストによって、エントリに対する非同期のロード・リクエストがスケジュール化されます。この属性は、内部キャッシュが |
< |
オプション |
同期のキャッシュ・ストア操作でキャッチされた例外が、コール元のスレッドに再スローされるかどうかを指定します(ネットワークを介してリモート・メンバーに送信されることもある)。この要素の値がfalseの場合、同期のキャッシュ・ストア操作でキャッチされた例外はローカルでログに記録され、内部キャッシュは更新されます。この値がtrueの場合、例外がコール元のスレッドに再スローされ、内部キャッシュは変更されません。この操作をトランザクション・コンテキスト内でコールした場合は、現在のトランザクションをロールバックするのと同様の操作になります。有効な値は、 |
使用場所: cachestore-scheme
、caching-schemes
、near-scheme
説明
remote-cache-scheme
要素には、クラスタの外部からCoherence*Extendを使用してクラスタ・キャッシュを利用する際に必要な構成情報を記述します。
要素
次の表は、remote-cache-scheme
要素で定義可能なサブ要素について説明しています。
表D-43 remote-cache-schemeのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
このスキームで作成されたキャッシュを管理するサービス名を指定します。 |
オプション |
バンドル方針の構成情報を指定します。 |
|
必須 |
クラスタへの接続を確立するためにサービスで使用される接続イニシエータの構成を記述します。 |
使用場所: caching-schemes
説明
remote-invocation-scheme
要素には、クラスタに参加せずにクラスタ・コンテキスト内でタスクを実行する際に必要な構成情報を記述します。このスキームは、Coherence*Extendを使用してクラスタに接続します。
要素
表D-44は、remote-invocation-scheme
要素で定義可能なサブ要素について説明しています。
表D-44 remote-invocation-schemeのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
サービスの名前を指定します。 |
必須 |
クラスタへの接続を確立するためにサービスで使用される接続イニシエータの構成を記述します。 |
使用場所: caching-schemes
、near-scheme
、versioned-near-scheme
、overflow-scheme
、versioned-backing-map-scheme
説明
レプリケーション・スキームは、指定したサービスを実行する各クラスタ・ノードに、すべてのキャッシュ・エントリを完全にレプリケートするキャッシュを定義します。レプリケーション・キャッシュの詳細は、「レプリケーション・キャッシュ・サービス」を参照してください。
クラスタ化された並列処理制御
レプリケーション・キャッシュでは、クラスタ全体を対象とするキーベースのロック機能がサポートされるため、更新の欠落といった従来の問題を発生させることなく、クラスタ内のデータを変更できます。明示的ロックを行わずに実行された操作もすべてアトミックですが、キャッシュに格納された値がアトミック操作間で変更されない保証はありません。
キャッシュ記憶域(バッキング・マップ)
キャッシュの記憶域はbacking-map-schemeを使用して指定します(<backing-map>
サブ要素を参照)。たとえば、バッキング・マップにlocal-scheme
を使用するレプリケーション・キャッシュでは、キャッシュ・エントリがメモリー内に格納されます。
要素
表D-45は、replicated-scheme
要素で定義可能なサブ要素について説明しています。
表D-45 replicated-schemeのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
このスキームで作成されたキャッシュを管理するサービス名を指定します。サービスは、 |
< |
オプション |
キャッシュ上で発生しているイベントの通知を受け取る |
< |
オプション |
キャッシュ・サーバー内でのエントリの格納に使用するキャッシュのタイプを指定します。有効な値は次のとおりです。 キャッシュの一貫性を確保するため、レプリケーション・キャッシュのバッキング・マップでは、キャッシュ・エントリのロードにリードスルー・パターンを使用しません。キャッシュ・サービスの外部でキャッシュアサイド・パターンを使用するか、クラスタ・キャッシュのリードスルーをサポートする |
< |
オプション |
標準的なリースの継続時間をミリ秒単位で指定します。リースがこのミリ秒数を超過すると、ロックは自動的に解放されます。期限切れが発生しないリースを指定するには、この値をゼロに設定します。この設定の目的は、スタック・スレッドを原因とするデッドロックまたはブロックが発生しないようにすることです。最長の予想ロック継続時間より高い(たとえば、トランザクション・タイムアウトより高い)値を設定する必要があります。また、 |
< |
オプション |
リース所有権の精度を指定します。リリース2.3以降で使用できます。有効な値は次のとおりです。
値がthreadの場合、ロックはそのロックを取得したスレッドによって保持され、そのスレッドによってのみ解放されます。値がmemberの場合、ロックはクラスタ・ノードによって保持され、ロックを取得したクラスタ・ノード上で実行されるスレッドによって解放できます。デフォルト値は、 |
< |
オプション |
リースの問題を最新のロック・ホルダーに転送するかどうかを指定します。有効な値は、trueまたはfalseです。デフォルト値は、 |
< |
オプション |
|
使用場所: acceptor-config
説明
tcp-acceptor
要素は、Coherence*ExtendクライアントからのTCP/IPを介した接続を受け入れる接続アクセプタの構成情報を指定します。詳細および構成例については、第17章「Coherence*Extendの構成と使用」を参照してください。
要素
表D-46は、tcp-acceptor
要素で定義可能なサブ要素について説明しています。
表D-46 tcp-acceptorのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
必須 |
接続アクセプタが開いた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>
|
< |
オプション |
キープ・アライブ( |
< |
オプション |
TCP遅延(Nagleアルゴリズム)が、TCP/IPソケットで有効にされているかどうかを示します。有効な値は、 |
< |
オプション |
基礎となるTCP/IPソケット・ネットワーク受信バッファのサイズを構成します。受信バッファ・サイズを増やすと、大量の接続におけるネットワークI/Oのパフォーマンスが向上します。受信バッファ・サイズを減らすと、未処理の受信データが削減されます。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]? 前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。
値に係数が含まれていない場合は、1が係数として適用されます。デフォルト値はOSに依存します。 |
< |
オプション |
基礎となるTCP/IPソケット・ネットワーク送信バッファのサイズを構成します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]? 前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。
値に係数が含まれていない場合は、1が係数として適用されます。デフォルト値はOSに依存します。 |
< |
オプション |
TCP/IPサーバー・ソケットの未処理キューのサイズを構成します。有効値は正の整数です。デフォルト値はOSに依存します。 |
< |
オプション |
TCP/IPソケットで、指定したリンガー時間 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルトでは、リンガーは無効です。 |
オプション |
このTCP/IPアクセプタへの接続が許可される、TCP/IPイニシエータ・ホストのIPアドレス・コレクションです。 |
使用場所: initiator-config
説明
tcp-initiator
要素は、Coherence*Extendクライアントからリモート・クラスタへのTCP/IPを介した接続を有効にする接続イニシエータの構成情報を指定します。詳細および構成例については、第17章「Coherence*Extendの構成と使用」を参照してください。
要素
表D-47は、tcp-initiator
要素で定義可能なサブ要素について説明しています。
表D-47 tcp-initiatorのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
接続イニシエータが開いたTCP/IPソケットがバインドされるローカル・アドレス(IPまたはDNS名)を指定します。たとえば、次の例は、接続イニシエータに対して、TCP/IPソケットをIPアドレス192.168.0.1にバインドするように指定します。 <local-address> <address>192.168.0.1</address> </local-address> |
< |
必須 |
1つ以上のTCP/IP接続アクセプタの< <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> また、< |
< |
オプション |
キープ・アライブ( |
< |
オプション |
TCP遅延(Nagleアルゴリズム)が、TCP/IPソケットで有効にされているかどうかを示します。有効な値は、 |
< |
オプション |
基礎となるTCP/IPソケット・ネットワーク受信バッファのサイズを構成します。受信バッファ・サイズを増やすと、大量の接続におけるネットワークI/Oのパフォーマンスが向上します。受信バッファ・サイズを減らすと、未処理の受信データが削減されます。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]? 前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。
値に係数が含まれていない場合は、1が係数として適用されます。デフォルト値はOSに依存します。 |
< |
オプション |
基礎となるTCP/IPソケット・ネットワーク送信バッファのサイズを構成します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[K|k|M|m|G|g]?[B|b]? 前述の文字は(左から右へ)それぞれ、先行する10進数値に乗じる係数を示しています。
値に係数が含まれていない場合は、1が係数として適用されます。デフォルト値はOSに依存します。 |
< |
オプション |
接続アクセプタへの接続を確立する際の最大待機時間を指定します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルト値は無限のタイムアウトです。 |
< |
オプション |
TCP/IPソケットで、指定したリンガー時間 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルトでは、リンガーは無効です。 |
使用場所: versioned-backing-map-scheme
説明
version-persistent-scheme
は、クラスタ・キャッシュのオブジェクトのバージョニング情報を格納するキャッシュを定義します。指定したスキームのバッキング・マップでサイズ制限を指定すると、追跡するバージョン識別子の数を制御できます。
要素
表D-48は、version-persistent-scheme
要素で定義可能なサブ要素について説明しています。
表D-48 version-persistent-schemeのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
名前修飾子を指定します。この修飾子は、特定のキャッシュに関連付けられたバージョン・オブジェクトのキャッシュの作成に使用されます。この要素の値は、ベース・キャッシュ名に付加されます。有効な値は文字列です。デフォルト値は |
必須 |
バージョン情報の保持に使用されるキャッシュのスキームを指定します。有効な値は次のとおりです。 |
使用場所: versioned-near-scheme
、versioned-backing-map-scheme
説明
version-transient-scheme
は、バージョニングされたニア・キャッシュで使用される、オブジェクトのバージョニング情報を格納するキャッシュを定義します。指定したスキームのバッキング・マップでサイズ制限を指定すると、追跡するバージョン識別子の数を制御できます。
要素
次の表は、version-
transient-scheme
要素で定義可能なサブ要素について説明しています。
表D-49 version-transient-schemeのサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
名前修飾子を指定します。この修飾子は、特定のキャッシュに関連付けられたバージョン・オブジェクトのキャッシュの作成に使用されます。この要素の値は、ベース・キャッシュ名に付加されます。有効な値は文字列です。デフォルト値は-versionです。たとえば、 |
必須 |
バージョン情報の保持に使用されるキャッシュのスキームを指定します。有効な値は次のとおりです。 |
使用場所: caching-schemes
、distributed-scheme
、replicated-scheme
、optimistic-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のサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
バージョニングされているバッキング・マップのカスタム実装を指定します。カスタム実装は、 |
オプション |
初期化パラメータを指定します。このパラメータは、 |
|
< |
オプション |
キャッシュ上で発生しているイベントの通知を受け取る |
オプション |
キャッシュするストアを指定します。指定しない場合、キャッシュ・データは内部キャッシュにのみ配置され( |
|
< |
必須 |
エントリのキャッシュに使用されるcache-schemeを指定します。有効な値は次のとおりです。 |
< |
オプション |
キャッシュ・ミス情報を保持するcache-schemeを指定します。miss-cacheは、キャッシュ・ストアに見つからなかったキーの追跡に使用されます。キャッシュ・ストアにキーがないことを事前に知っておくことで、一部の操作がより迅速に実行されます。処理に時間がかかる可能性のあるキャッシュ・ストアへの問合せを回避できるからです。サイズが制限されたスキームを使用すると、キャッシュされるキャッシュ・ミスの数を制御できます。値を指定しないと、キャッシュ・ミスのデータは保持されません。有効な値は次のとおりです。 |
< |
オプション |
読取り専用にするかどうかを指定します。trueの場合、キャッシュはデータをキャッシュ・ストアからロードして読取り操作を行い、キャッシュが更新されたときにキャッシュ・ストアへの書込みは実行しません。有効な値は、 |
< |
オプション |
ライトビハインド・キューでキャッシュ・ストアに対する非同期の書込みが遅延される時間間隔を指定します。この要素の値は、次の形式で指定する必要があります。 [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? 前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。
値に単位が含まれていない場合は、秒が単位として適用されます。0の場合、キャッシュ・ストアへの同期書込み(キューイングなし)が行われます。それ以外の場合、キャッシュ内の値が最後に更新されてから指定された秒数だけ遅延して、書込みが非同期で実行されます。デフォルトは0です。 |
< |
オプション |
write-batch-factor要素は、ライトビハインド・キュー・エントリのソフト熟成時間の計算に使用されます。キューのエントリは、ライトビハインド・キューにwrite-delay期間以上格納されると、書込み操作用に十分に熟成している(適切な書込み時である)と見なされます。ソフト熟成時間は、実際の熟成時間より前の時点になります。これより後では、エントリが(その他のすべての熟成エントリとソフト熟成エントリとともに) |
< |
オプション |
ライトビハインド・キューの最大サイズを指定します。ここに、キャッシュ・ストアの失敗した書込み操作が再キューされます。この設定の目的は、失敗したキャッシュ・ストア操作によってライトビハインド・キューがあふれないようにすることです。これは、多数の連続する書込み操作が失敗したときに発生する場合があります。0の場合、ライトビハインドの再キューが無効になります。有効な値は、正の整数またはゼロです。デフォルトは0です。 |
< |
オプション |
|
< |
オプション |
同期のキャッシュ・ストア操作でキャッチされた例外が、コール元のスレッドに再スローされるかどうかを指定します(ネットワークを介してリモート・メンバーに送信されることもある)。この要素の値がfalseの場合、同期のキャッシュ・ストア操作でキャッチされた例外はローカルでログに記録され、内部キャッシュは更新されます。この値がtrueの場合、例外がコール元のスレッドに再スローされ、内部キャッシュは変更されません。この操作をトランザクション・コンテキスト内でコールした場合は、現在のトランザクションをロールバックするのと同様の操作になります。有効な値は、 |
オプション |
永続キャッシュ・ストア内のエントリのバージョン識別子を追跡するcache-schmeを指定します( |
|
オプション |
一時内部キャッシュ内のエントリのバージョン識別子を追跡するcache-schmeを指定します( |
|
< |
オプション |
バッキング・マップが、一時バージョン・キャッシュを最新の状態に維持する役割を果たすかどうかを指定します。無効化されている場合、バッキング・マップは他のパーティが認識しない操作(エントリの失効など)についてのみ、一時バージョン・キャッシュの管理を行います。これは、たとえば |
使用場所: 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のサブ要素
要素 | 必須/オプション | 説明 |
---|---|---|
< |
オプション |
スキームの名前を指定します。この名前はコンフィギュレーション・ファイル内で一意である必要があります。 |
< |
オプション |
継承元の別のスキーム名を指定します。詳細は、「スキームの継承」を参照してください。 |
< |
オプション |
バージョニングされているニア・キャッシュのカスタム実装を指定します。指定されたクラスは、 |
オプション |
初期化パラメータを指定します。このパラメータは、 |
|
< |
オプション |
キャッシュ上で発生しているイベントの通知を受け取る |
< |
必須 |
フロント層キャッシュの作成に使用する 次に例を示します。 <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> <distributed-scheme> <scheme-ref>default-distributed</scheme-ref> </distributed-scheme> </back-scheme> |
オプション |
キャッシュ・エントリのバージョニングに使用するスキームを指定します。これにより、フロント層とバック層の一貫性が保証されます。 |
|
< |
オプション |
autostart要素は、キャッシュ・サーバー(つまり、 |