E System Property Overrides

The system property reference describes the Coherence system property override feature and lists many of the predefined system properties that are used to change Coherence default settings.

This appendix contains the following sections:

Overview of System Property Overrides

Both the Coherence Operational Configuration and Coherence Cache Configuration deployment descriptors can assign a system property to any element that is defined in the descriptor.Some elements have predefined overrides. You can create your own or change the predefined ones.

This feature is useful when you want to change the settings for a single JVM, or to be able to start different applications with different settings without making them use different descriptors. The most common application is passing a different multicast address, to allow different applications to create separate clusters.

To create a Command Line Setting Override, add a system-property attribute, specifying the string you would like to assign as the name for the java command line option to the element you want to create an override to. Then, specify it in the Java command line, prefixed with "-D".

Override Example

Learn how to use the system property override feature by considering an example that overrides the default localhost value.The example configures a system property override that is used to change the IP address of a multi-home server in order to avoid using the default localhost value for an interface.

First, add a system-property to the cluster-config, unicast-listener, or address element. For example:

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

Then use the system property to specify an IP address instead of the default localhost:

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

Preconfigured Override Values

The Coherence system property override reference lists all the preconfigured system properties and the settings they override.
These system properties are defined in the tangosol-coherence.xml file and can be overridden in two ways:
  • By providing your own override file which applies overrides/specializations to the tangosol-coherence.xml file.

    OR

  • For service configuration items (a subset of the reference list in Table E-1), the relevant XML element in the cache configuration overrides the service's default value in the tangosol-coherence.xml file.

In either case, if the configuration item is specialized, the system-property XML attribute must be present at the point of override to ensure that any value passed through a JVM system property is applied.

The default to determine if a distributed-scheme is storage-enabled is defined in the tangosol-coherence.xml file, as seen in the example below:

<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>
You can specialize this example by providing the local-storage XML element as a child of the distributed-scheme within the cache configuration. The specialization ensures that a value is specified for that instance of the distributed cache. To ensure that the distributed cache honors the system-property in the tangosol-coherence.xml file, you should redefine it as shown below:
<distributed-scheme>
      ...
      <local-storage system-property="coherence.distributed.localstorage">false</local-storage>
      ...
    </distributed-scheme>

Table E-1 Preconfigured System Property Override Values

System Property Setting

coherence.cacheconfig

Cache configuration descriptor file name. See configurable-cache-factory-config.

coherence.cluster

Cluster name. See member-identity.

coherence.clusteraddress

Cluster (multicast) IP address. See <address> subelement of multicast-listener.

coherence.clusterport

Cluster (multicast) IP port. See <port> subelement of multicast-listener.

coherence.distributed.backup

Data backup storage location. See backup-storage/type subelement in DistributedCache Service Parameters.

coherence.distributed.backupcount

Number of data backups. See backup-count subelement in DistributedCache Service Parameters.

coherence.distributed.localstorage

Local partition management enabled. See local-storage subelement in DistributedCache Service Parameters.

coherence.distributed.threads

Thread pool size. See thread-count subelement in DistributedCache Service Parameters.

coherence.distributed.transfer

Partition transfer threshold. See transfer-threshold subelement inDistributedCache Service Parameters.

coherence.edition

Product edition. See license-config.

coherence.federation.trace.logging

Controls the enabling or disabling of federation trace logging. The default value is false. See TraceLogging in FederationManagerMBean .

coherence.invocation.threads

Invocation service thread pool size. See thread-count subelement in Invocation Service Parameters.

coherence.localhost

Unicast IP address. See <address> subelement in unicast-listener.

coherence.localport

Unicast IP port. See <port> subelement in unicast-listener.

coherence.localport.adjust

Unicast IP port auto assignment. See <port-auto-adjust> subelement in unicast-listener.

coherence.log

Logging destination. See <logging-config-destination> subelement in logging-config.

coherence.log.level

Logging level. See <logging-config-level> subelement in logging-config.

coherence.log.limit

Log output character limit. See <logging-config-limit> subelement in logging-config.

coherence.machine

The computer's name as defined by the machine-name element. See member-identity.

coherence.management

JMX management mode. See management-config.

coherence.management.readonly

JMX management read-only flag. management-config.

coherence.management.remote

Remote JMX management enabled flag. See management-config.

coherence.member

Member name. See member-identity.

coherence.mode

Operational mode. See license-config.

coherence.override

Deployment configuration override filename.

coherence.priority

Priority. See member-identity.

coherence.process

Process name member-identity.

coherence.proxy.threads

Coherence*Extend service thread pool size. See thread-count subelement in Proxy Service Parameters.

coherence.rack

Rack name. See member-identity.

coherence.role

Role name. See member-identity.

coherence.security

Cache access security enabled flag. See security-config.

coherence.security.keystore

Security access controller keystore file name. See security-config.

coherence.security.permissions

Security access controller permissions file name. See security-config.

coherence.service.failure.policy

See <service-failure-policy> child element under service-guardian.

coherence.shutdownhook

Shutdown listener action. See shutdown-listener.

coherence.shutdown.timeout

Time duration string such as "2s" for 2 seconds, "5m" for 5 minutes, or "1h" for 1hour. Default is 2 minutes.

coherence.site

Site name. See member-identity.

coherence.tcmp.enabled

TCMP enabled flag. See <packet-publisher-enabled> subelement in packet-publisher.

coherence.ttl

Multicast packet time to live (TTL). See <mulitcast-listener-ttl> subelement in multicast-listener.

coherence.wka

Well known IP address. See well-known-addresses.