Elements in the default tangosol-coherence.xml file are overridden by placing an operational override file named tangosol-coherence-override.xml in the classpath at run time. The structure of the override file and the operational deployment descriptor are the same except that all elements are optional. The override file includes only the elements that are being changed. Any missing elements are loaded from the tangosol-coherence.xml file.
In general, using the operational override file provides the most comprehensive method of configuring the operational run time and is used in both development and production environments.
When using the cache-server and coherence scripts during development, add the location of the tangosol-coherence-override.xml file to the classpath using the Java -cp argument in each of the scripts.
3.2.2 Specifying an Operational Override File
The tangosol.coherence.override system property specifies an operational override file to be used instead of the default tangosol-coherence-override.xml file. The structure of the specified file and the operational deployment descriptor are the same except that all elements are optional. Any missing elements are loaded from the tangosol-coherence.xml file.
The tangosol.coherence.override system property provides an easy way to switch between different operational configurations and is convenient during development and testing.
Specify the name of the operational override file as a value of the tangosol.coherence.override system property. If the file is not located in the classpath, enter the full (or relative) path to the file and the name. The system property also supports the use of a URL when specifying the location of an operational override file.
The following example demonstrates starting a cache server and using an operational override file that is named cluster.xml which is located in COHERENCE_HOME .
3.2.3 Defining Override Files for Specific Operational Elements
Override files can be created to override the contents of specific operational elements. The override files follow the same structure as the operational deployment descriptor except that their root element must match the element that is to be overridden. See “Defining Custom Override Files” for detailed information on defining override files for specific operational elements.
In general, override files for specific operational elements provides fine-grained control over which portions of the operational deployment descriptor may be modified and allows different configurations to be created for different deployment scenarios.
Add an xml-override attribute to an element that is to be overridden. The value of the xml-override attribute is the name of an override file.
Edit the file and add an XML node that corresponds to the element that is to be overridden. The XML root element must match the element that is to be overridden.
Using the example from step 2, the following node is created to override the element and specifies a multicast join timeout.
3.2.4 Viewing Which Operational Override Files are Loaded
The output for a Coherence node indicates the location and name of the operational configuration files that are loaded at startup. The operational configuration messages are the first messages to be emitted when starting a process. The output is especially helpful when using multiple override files and is often useful when developing and testing Coherence applications and solutions.
The above output indicates that the operational deployment descriptor included in coherence.jar was loaded and that settings in this file are overridden by two loaded override files: tangosol-coherence-override-dev.xml and tangosol-coherence-override.xml . In addition, two override files were defined for specific operational elements but were not found or loaded at run time.
3.3 Specifying a Cache Configuration File
The coherence-cache-config.xml cache configuration deployment descriptor file is used to specify the various types of caches that can be used within a cluster. At run time, Coherence uses the first coherence-cache-config.xml file that is found in the classpath. A sample coherence-cache-config.xml file is included with Coherence and is located in the root of the coherence.jar library. The sample file is provided only for demonstration purposes. It can be changed or reused as required; however, it is recommended that a custom cache configuration deployment descriptor be created instead of using the sample file.