D システム・プロパティのオーバーライド

システム・プロパティ・リファレンスでは、Coherenceのシステム・プロパティのオーバーライド機能について説明し、Coherenceのデフォルト設定を変更するために使用される多くの事前定義済システム・プロパティをリストしています。

この付録の内容は次のとおりです。

システム・プロパティのオーバーライドの概要

Coherenceオペレーション構成とCoherenceキャッシュ構成の両方のデプロイメント・ディスクリプタでは、ディスクリプタで定義されているすべての要素にシステム・プロパティを割り当てることができます。一部の要素は事前定義済のオーバーライドを持ちます。オーバーライドは独自に作成することも、事前定義されたものを変更することもできます。

この機能は、単一のJVMの設定を変更する必要がある場合や、別のディスクリプタを使用しないで設定の異なる別のアプリケーションを起動できるようにする場合に役立ちます。最も一般的なアプリケーションでは、マルチキャストの別のアドレスを渡すことによって、別のアプリケーションで別のクラスタを作成できるようにします。

コマンド行設定オーバーライドを作成するには、system-property属性を追加して、オーバーライドを作成する要素にJavaコマンド行オプションの名前として割り当てる文字列を指定します。次に、Javaコマンド行で先頭を-Dとして指定します。

オーバーライドの例

デフォルトのlocalhostの値をオーバーライドする例を検討することで、システム・プロパティのオーバーライド機能の使用方法を学習します。この例では、インタフェースでデフォルトのlocalhostの値を使用しないように、マルチホーム・サーバーのIPアドレスを変更するために使用する、システム・プロパティのオーバーライドを構成しています。

まず、cluster-config要素、unicast-listener要素またはaddress要素にsystem-propertyを追加します。たとえば:

<address system-property="coherence.localhost">localhost</address>

ここでは、デフォルトのlocalhostのかわりに、システム・プロパティを使用してIPアドレスを指定します。

java -Dcoherence.localhost=192.168.0.301 -jar coherence.jar

事前構成されているオーバーライド値

Coherenceのシステム・プロパティのオーバーライド・リファレンスには、事前構成済のシステム・プロパティおよびオーバーライドされた設定がすべてリストされます。
これらのシステム・プロパティは、tangosol-coherence.xmlファイルで定義され、次の2つの方法でオーバーライドできます:
  • tangosol-coherence.xmlファイルにオーバーライド/特殊化を適用する独自のオーバーライド・ファイルを指定する。

    または

  • サービス構成アイテム(表D-1の参照リストのサブセット)の場合、キャッシュ構成内の関連するXML要素は、tangosol-coherence.xmlファイルのサービスのデフォルト値をオーバーライドする。

いずれの場合も、構成アイテムが特殊化されている場合、JVMシステム・プロパティを介して渡される値が確実に適用されるように、オーバーライドの時点でsystem-property XML属性が存在する必要があります。

distributed-schemeが記憶域が有効かどうかを判断するデフォルトは、次の例に示すように、tangosol-coherence.xmlファイルで定義されます:

<service id="3">
        <service-type>DistributedCache</service-type>
        <service-component>PartitionedService.PartitionedCache</service-component>
        ...
        <init-params>
          ...
          <init-param id="4">
            <param-name>local-storage</param-name>
            <param-value system-property="coherence.distributed.localstorage">true</param-value>
          </init-param>
この例を特殊化するには、local-storage XML要素をキャッシュ構成内のdistributed-schemeの子として指定します。この特殊化により、分散キャッシュのそのインスタンスに対して値が指定されます。分散キャッシュがtangosol-coherence.xmlファイルのsystem-propertyを優先するようにするには、次に示すように再定義する必要があります:
<distributed-scheme>
      ...
      <local-storage system-property="coherence.distributed.localstorage">false</local-storage>
      ...
    </distributed-scheme>

表D-1 事前構成されているシステム・プロパティのオーバーライド値

システム・プロパティ 設定

coherence.cacheconfig

キャッシュ構成ディスクリプタのファイル名。configurable-cache-factory-configを参照してください。

coherence.cluster

クラスタ名。member-identityを参照してください。

coherence.clusteraddress

クラスタ(マルチキャスト)のIPアドレス。multicast-listener<address>サブ要素を参照してください。

coherence.clusterport

クラスタ(マルチキャスト)のIPポート。multicast-listener<port>サブ要素を参照してください。

coherence.distributed.backup

データ・バックアップ記憶域の場所。DistributedCacheサービスのパラメータbackup-storage/typeサブ要素を参照してください。

coherence.distributed.backupcount

データ・バックアップの数。DistributedCacheサービスのパラメータbackup-countサブ要素を参照してください。

coherence.distributed.localstorage

有効化されているローカル・パーティション管理。DistributedCacheサービスのパラメータのlocal-storageサブ要素を参照してください。

coherence.distributed.threads

スレッド・プールのサイズ。DistributedCacheサービスのパラメータthread-countサブ要素を参照してください。

coherence.distributed.transfer

パーティション送信のしきい値。DistributedCacheサービスのパラメータtransfer-thresholdサブ要素を参照してください。

coherence.edition

製品のエディション。license-configを参照してください。

coherence.federation.trace.logging

フェデレーション・トレース・ロギングの有効化または無効化を制御します。デフォルト値はfalseです。「FederationManagerMBean」「TraceLogging」を参照してください。

coherence.invocation.threads

起動サービスのスレッド・プールのサイズ。起動サービスのパラメータthread-countサブ要素を参照してください。

coherence.localhost

ユニキャストのIPアドレス。unicast-listener<address>サブ要素を参照してください。

coherence.localport

ユニキャストのIPポート。unicast-listener<port>サブ要素を参照してください。

coherence.localport.adjust

ユニキャストのIPポートの自動割当て。unicast-listener<port-auto-adjust>サブ要素を参照してください。

coherence.log

ロギング先。logging-config<logging-config-destination>サブ要素を参照してください。

coherence.log.level

ロギング・レベル。logging-config<logging-config-level>サブ要素を参照してください。

coherence.log.limit

ログ出力文字制限。logging-config<logging-config-limit>サブ要素を参照してください。

coherence.machine

machine-name要素で定義されているコンピュータの名前。member-identityを参照してください。

coherence.management

JMX管理のモード。management-configを参照してください。

coherence.management.readonly

JMX管理の読取り専用フラグ。management-configを参照してください。

coherence.management.remote

リモートJMX管理の有効フラグ。management-configを参照してください。

coherence.member

メンバー名。member-identityを参照してください。

coherence.mode

操作モード。license-configを参照してください。

coherence.override

デプロイメント構成のオーバーライド・ファイル名。

coherence.priority

優先度。member-identityを参照してください。

coherence.process

プロセス名。member-identityを参照してください。

coherence.proxy.threads

Coherence*Extendサービスのスレッド・プールのサイズ。プロキシ・サービスのパラメータthread-countサブ要素を参照してください。

coherence.rack

ラック名。member-identityを参照してください。

coherence.role

ロール名。member-identityを参照してください。

coherence.security

キャッシュ・アクセス・セキュリティの有効フラグ。security-configを参照してください。

coherence.security.keystore

セキュリティ・アクセス・コントローラのキーストア・ファイル名。security-configを参照してください。

coherence.security.permissions

セキュリティ・アクセス・コントローラの権限ファイル名。security-configを参照してください。

coherence.service.failure.policy

service-guardianの<service-failure-policy>子要素を参照してください。

coherence.shutdownhook

シャットダウン・リスナー・アクション。shutdown-listenerを参照してください。

coherence.shutdown.timeout

2s (2秒)、5m (5分)、1h (1時間)など、時間を表す文字列。デフォルトは2分です。

coherence.site

サイト名。member-identityを参照してください。

coherence.tcmp.enabled

TCMPの有効フラグ。packet-publisher<packet-publisher-enabled>サブ要素を参照してください。

coherence.ttl

マルチキャスト・パケットの有効時間(TTL)。multicast-listener<mulitcast-listener-ttl>サブ要素を参照してください。

coherence.wka

既知のIPアドレス。well-known-addressesを参照してください。