19 キャッシュ構成オーバーライドの使用
Coherence 14.1.1.2206では、Coherenceクラスタ・オーバーライドに類似した機能であるキャッシュ構成オーバーライドが導入されています。キャッシュ構成オーバーライドを指定するには、キャッシュ構成のルート要素の
xml-override
属性を使用します。ルート要素はベース・キャッシュ構成ファイルと呼ばれ、その要素は、クラスパスまたはモジュール・パスにオーバーライド・ファイルを配置することで、オーバーライドできるようになりました。指定したXMLオーバーライド・ファイルがクラスパスまたはモジュール・パスで見つかった場合、Coherenceは実行時にファイルをロードし、各モジュールの固有の要件に基づいて基本構成をオーバーライドします。
この章の内容は次のとおりです。
- xml-override属性の指定
coherence.cacheconfig.override
システム・プロパティを指定しない場合、指定したxml-override
属性に基づいて、アプリケーションのクラスパスまたはモジュール・パス上にcache-config-override.xml
ファイルが見つかると、Coherenceはこれをロードし、適用します。 - Coherenceキャッシュ構成のオーバーライドのユース・ケース
この項のユース・ケースでは、Coherenceキャッシュ構成をオーバーライドする様々なシナリオについて説明します。
親トピック: キャッシュの使用
xml-override属性の指定
coherence.cacheconfig.override
システム・プロパティを指定しない場合、指定したxml-override
属性に基づいて、アプリケーションのクラスパスまたはモジュール・パス上にcache-config-override.xml
ファイルが見つかると、Coherenceはこれをロードし、適用します。coherence.cacheconfig.override
を指定した場合、Coherenceはこのシステム・プロパティが指すXMLオーバーライドをロードし、実行時に適用します。
xml-override
属性が指定されているキャッシュ構成XMLファイルのスニペットを次に示します。<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd"
xml-override="{coherence.cacheconfig.override cache-config-override.xml}">
....
</cache-config>
親トピック: キャッシュ構成オーバーライドの使用
Coherenceキャッシュ構成のオーバーライドのユース・ケース
この項のユース・ケースでは、Coherenceキャッシュ構成をオーバーライドする様々なシナリオについて説明します。
- キャッシュ構成オーバーライドには、同じ
cache-name
のベース・キャッシュ構成にすでに存在するcaching-scheme-mapping
/cache-mapping
がありますこの場合、次の例に示すように、
caching-scheme-mapping
内のcache-mapping
要素は、オーバーライド・ファイルからオーバーライドされます。- ベースXML
<cache-mapping> <cache-name>my-cache-*</cache-name> <scheme-name>my-cache-scheme-parent</scheme-name> </cache-mapping>
- オーバーライドXML
<cache-mapping> <cache-name>my-cache-*</cache-name> <scheme-name>my-cache-scheme-override</scheme-name> </cache-mapping>
- XMLオーバーライドをベースXMLに適用した後の有効な
<caching-scheme-mapping>
要素<caching-scheme-mapping> <cache-mapping> <cache-name>my-cache-*</cache-name> <scheme-name>my-cache-scheme-override</scheme-name> </cache-mapping> </caching-scheme-mapping>
- ベースXML
- キャッシュ構成オーバーライドには、ベース・キャッシュ構成に存在しない
caching-scheme-mapping
/cache-mapping
がありますこの場合、次の例に示すように、オーバーライド・ファイルの新しい
<cache-mapping>
要素は、caching-scheme-mapping
内の他の要素の先頭に付加されます。- ベースXML
<cache-mapping> <cache-name>my-cache-*</cache-name> <scheme-name>my-cache-scheme-parent</scheme-name> </cache-mapping>
- オーバーライドXML
<cache-mapping> <cache-name>my-cache-override</cache-name> <scheme-name>my-cache-scheme-override</scheme-name> </cache-mapping>
- XMLオーバーライドをベースXMLに適用した後の有効な
<caching-scheme-mapping>
要素<caching-scheme-mapping> <cache-mapping> <cache-name>my-cache-override</cache-name> <scheme-name>my-cache-scheme-override</scheme-name> </cache-mapping> <cache-mapping> <cache-name>my-cache-*</cache-name> <scheme-name>my-cache-scheme-parent</scheme-name> </cache-mapping> </caching-scheme-mapping>
- ベースXML
- キャッシュ構成オーバーライドには、ベース構成ファイルに存在する同じ
scheme-name
を持つcaching-scheme
があります次の例に示すように、指定された
scheme-name
を持つcaching-scheme
のみが、オーバーライド・ファイルの関連コンテンツとマージされます。- ベースXML
<caching-schemes> <distributed-scheme> <scheme-name>my-cache-scheme</scheme-name> <service-name>MyCache</service-name> <backing-map-scheme> <local-scheme> <unit-calculator>BINARY</unit-calculator> </local-scheme> </backing-map-scheme> <partitioned-quorum-policy-scheme> <write-quorum>3</write-quorum> </partitioned-quorum-policy-scheme> <autostart>true</autostart> </distributed-scheme> <distributed-scheme> <scheme-name>my-cache-scheme-two</scheme-name> <service-name>MyCache2</service-name> </distributed-scheme> <caching-schemes>
- オーバーライドXML
<caching-schemes> <distributed-scheme> <scheme-name>my-cache-scheme</scheme-name> <partitioned-quorum-policy-scheme> <write-quorum>1</write-quorum> </partitioned-quorum-policy-scheme> </distributed-scheme> </caching-schemes>
- XMLオーバーライドを適用した後の有効な
<caching-schemes>
要素<caching-schemes> <distributed-scheme> <scheme-name>my-cache-scheme</scheme-name> <service-name>MyCache</service-name> <backing-map-scheme> <local-scheme> <unit-calculator>BINARY</unit-calculator> </local-scheme> </backing-map-scheme> <partitioned-quorum-policy-scheme> <write-quorum>1</write-quorum> </partitioned-quorum-policy-scheme> <autostart>true</autostart> </distributed-scheme> <distributed-scheme> <scheme-name>my-cache-scheme-two</scheme-name> <service-name>MyCache2</service-name> </distributed-scheme> <caching-schemes>
- ベースXML
scheme-name
のないcaching-schemes
を使用したキャッシュ構成オーバーライド次の例に示すように、その
caching-scheme
のすべてのタイプは、オーバーライド・ファイルの関連コンテンツで変更されます。- ベースXML
<caching-schemes> <distributed-scheme> <scheme-name>my-cache-scheme</scheme-name> <service-name>MyCache</service-name> <backing-map-scheme> <local-scheme> <unit-calculator>BINARY</unit-calculator> </local-scheme> </backing-map-scheme> <partitioned-quorum-policy-scheme> <write-quorum>3</write-quorum> </partitioned-quorum-policy-scheme> <autostart>true</autostart> </distributed-scheme> <distributed-scheme> <scheme-name>my-cache-scheme-two</scheme-name> <service-name>MyCache2</service-name> </distributed-scheme> <caching-schemes>
- オーバーライドXML
<caching-schemes> <distributed-scheme> <partitioned-quorum-policy-scheme> <write-quorum>1</write-quorum> </partitioned-quorum-policy-scheme> </distributed-scheme> </caching-schemes>
- XMLオーバーライドを適用した後の有効な
<caching-schemes>
要素<caching-schemes> <distributed-scheme> <scheme-name>my-cache-scheme</scheme-name> <service-name>MyCache</service-name> <backing-map-scheme> <local-scheme> <unit-calculator>BINARY</unit-calculator> </local-scheme> </backing-map-scheme> <partitioned-quorum-policy-scheme> <write-quorum>1</write-quorum> </partitioned-quorum-policy-scheme> <autostart>true</autostart> </distributed-scheme> <distributed-scheme> <scheme-name>my-cache-scheme-two</scheme-name> <service-name>MyCache2</service-name> <partitioned-quorum-policy-scheme> <write-quorum>1</write-quorum> </partitioned-quorum-policy-scheme> </distributed-scheme> <caching-schemes>
- ベースXML
親トピック: キャッシュ構成オーバーライドの使用