Command Line Setting Override Feature

Command Line Setting Override Feature

Both the Coherence Operational Configuration deployment descriptor and the Coherence Cache Configuration deployment descriptor support the ability to assign java command line option name to any element defined in the descriptor. Some of the elements already have these Command Line Setting Overrides defined. You can create your own or change the ones that are already defined.

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

To create a Commmand Line Setting Override all you need to do is add 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 you just need to specify it in the java command line prepended with "-D".

For example:

Let's say that we want to create an override for the IP address of the multi-home server to avoid using the default localhost, and instead specify a specific the IP address of the interface we want Coherence to use (let's say it is 192.168.0.301). We would like to call this override tangosol.coherence.localhost.

In order to do that we first add a system-property to the cluster-config/unicast-listener/address element:

<address>localhost</address>

which will look as follows with the property we added:

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

Then we use it by modifying our java command line:

java -jar coherence.jar

to specify our address 192.168.0.301 (instead of the default localhost specified in the configuration) as follows:

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

The following table details all the preconfigured overrides:

Override Option Setting
tangosol.coherence.cacheconfig Cache configuration descriptor filename
tangosol.coherence.cluster Cluster name
tangosol.coherence.clusteraddress Cluster (multicast) IP address
tangosol.coherence.clusterport Cluster (multicast) IP port
tangosol.coherence.distributed.backup Data backup storage location
tangosol.coherence.distributed.backupcount Number of data backups
tangosol.coherence.distributed.localstorage Local partition management enabled
tangosol.coherence.distributed.threads Thread pool size
tangosol.coherence.distributed.transfer Partition transfer threshold
tangosol.coherence.edition Product edition
tangosol.coherence.invocation.threads Invocation service thread pool size
tangosol.coherence.licensepath License repository location
tangosol.coherence.localhost Unicast IP address
tangosol.coherence.localport Unicast IP port
tangosol.coherence.localport.adjust Unicast IP port auto assignment
tangosol.coherence.log Logging destination
tangosol.coherence.log.level Logging level
tangosol.coherence.log.limit Log output character limit
tangosol.coherence.machine Machine name
tangosol.coherence.management JMX management mode
tangosol.coherence.management.readonly JMX management read-only flag
tangosol.coherence.management.remote Remote JMX management enabled flag
tangosol.coherence.member Member name
tangosol.coherence.mode License mode
tangosol.coherence.override Deployment configuration override filename
tangosol.coherence.priority Priority
tangosol.coherence.process Process name
tangosol.coherence.proxy.threads Coherence*Extend service thread pool size
tangosol.coherence.rack Rack name
tangosol.coherence.role Role name
tangosol.coherence.security Cache access security enabled flag
tangosol.coherence.security.keystore Security access controller keystore file name
tangosol.coherence.security.password Keystore or cluster encryption password
tangosol.coherence.security.permissions Security access controller permissions file name
tangosol.coherence.shutdownhook Shutdown listener action
tangosol.coherence.site Site name
tangosol.coherence.tcpring TCP Ring enabled flag
tangosol.coherence.ttl Multicast packet time to live (TTL)
tangosol.coherence.wka Well known IP address
tangosol.coherence.wka.port Well known IP port
Error formatting macro: rate: java.lang.NullPointerException
Error formatting macro: rate: java.lang.NullPointerException
Unknown macro: {rate-table}