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

戻る
戻る
 
次へ
次へ
 

E キャッシュ・コンフィギュレーションのパラメータ・マクロ

キャッシュ・コンフィギュレーションのデプロイメント・ディスクリプタ(coherence-cache-config.xml)ではパラメータ・マクロがサポートされるため、カスタム・コーディングが最小で済み、クラス・コンストラクタ・パラメータの構成時に一般的に使用される属性を指定できます。マクロは次に示すように、引用符や空白を使用しないで、中カッコで囲んで入力する必要があります。

表E-1は、指定可能なパラメータ・マクロについて説明しています。

表E-1 キャッシュ・コンフィギュレーションのパラメータ・マクロ

<param-type> <param-value> 説明

java.lang.String

{cache-name}

現在のキャッシュ名をコンストラクタ・パラメータとして渡すために使用します。次に例を示します。

<class-name>com.mycompany.cache.CustomCacheLoader</class-name>
<init-params>
  <init-param>
    <param-type>java.lang.String</param-type>
    <param-value>{cache-name}</param-value>
  </init-param>
</init-params>

java.lang.ClassLoader

{class-loader}

現在のクラス・ローダーをコンストラクタ・パラメータとして渡すために使用します。次に例を示します。

<class-name>com.mycompany.cache.CustomCacheLoader</class-name> <init-params>
  <init-param>
    <param-type>java.lang.ClassLoader</param-type>
     <param-value>{class-loader}</param-value>
  </init-param>
</init-params>

com.tangosol.net.BackingMapManagerContext

{manager-context}

現在のBackingMapManagerContextオブジェクトをコンストラクタ・パラメータとして渡すために使用します。次に例を示します。

<class-name>com.mycompany.cache.CustomCacheLoader</class-name>
<init-params>
  <init-param>
    <param-type>com.tangosol.net.BackingMapManagerContext    </param-type>
    <param-value>{manager-context}</param-value>
  </init-param>
</init-params>

{scheme-ref}

local-scheme


<class-scheme><local-scheme>または<file-scheme>によって定義されるオブジェクトを、指定した<scheme-name>値でインスタンス化して、コンストラクタ・パラメータとして使用します。次に例を示します。

<class-scheme>
  <scheme-name>dbconnection</scheme-name>
  <class-name>com.mycompany.dbConnection</class-name>
  <init-params>
    <init-param>
      <param-name>driver</param-name>
      <param-type>String</param-type>
      <param-value>org.gjt.mm.mysql.Driver</param-value>
    </init-param>
    <init-param>
      <param-name>url</param-name>
      <param-type>String</param-type>
      <param-value>jdbc:mysql://dbserver:3306/companydb                             </param-value>

    </init-param>
    <init-param>
      <param-name>user</param-name>
      <param-type>String</param-type>
      <param-value>default</param-value>
    </init-param>
    <init-param>
      <param-name>password</param-name>
      <param-type>String</param-type>
      <param-value>default</param-value>
    </init-param>
  </init-params>
</class-scheme>
...
<class-name>com.mycompany.cache.CustomCacheLoader</class-name>
  <init-params>
    <init-param>
      <param-type>{scheme-ref}</param-type>
      <param-value>dbconnection</param-value>
    </init-param>
  </init-params>

{cache-ref}

キャッシュ名

指定したキャッシュ名に対するNamedCache参照を取得するために使用します。次の構成例を参照してください。

<cache-config>
  <caching-scheme-mapping>
    <cache-mapping>
      <cache-name>boston-*</cache-name>
      <scheme-name>wrapper</scheme-name>
      <init-params>
        <init-param>
          <param-name>delegate-cache-name</param-name>
          <param-value>london-*</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
    <cache-mapping>
      <cache-name>london-*</cache-name>
      <scheme-name>partitioned</scheme-name>
    </cache-mapping>
  </caching-scheme-mapping>

  <caching-schemes>
    <class-scheme>
      <scheme-name>wrapper</scheme-name>
      <class-name>com.tangosol.net.cache.WrapperNamedCache            </class-name>
      <init-params>
        <init-param>
          <param-type>cache-ref</param-type>
          <param-value>delegate-cache-name</param-value>
        </init-param>
        <init-param>
          <param-type>string</param-type>
          <param-value>cache-name</param-value>
        </init-param>
      </init-params>
    </class-scheme>

    <distributed-scheme>
      <scheme-name>partitioned</scheme-name>
      <service-name>partitioned</service-name>
      <backing-map-scheme>
        <local-scheme>
          <unit-calculator>BINARY</unit-calculator>
        </local-scheme>
      </backing-map-scheme>
      <autostart>true</autostart>
    </distributed-scheme>
  </caching-schemes>
</cache-config>

CacheFactory.getCache("london-test")のコールによって、パーティション化された標準のキャッシュ参照が生成されます。一方、CacheFactory.getCache("boston-test")のコールでは、delegate-cache-nameパラメータの値をlondon-testにして、CacheFactory.getCache("london-test")のコールによって返されるNamedCacheに委任するWrapperNamedCacheのインスタンスを構築します。