For a production environment, you must use Oracle Coherence version 14.1.1 or later.
For more information on Oracle Coherence click here.
You will require the Coherence file coherence.jar, and if you are configuring security you will also require the coherence-login.jar file.
Coherence clients and servers are configured using a combination of xml configuration files and Java system properties.
The Micro Focus Enterprise Server support file mfescache.jar is shipped with Enterprise Developer, and can be located at %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\bin. The Micro Focus configuration file mfescache.cfg is also supplied and can be located at %ProgramFiles(x86)%\Micro Focus\Enterprise Server\etc. These are suitable for production use, provided that system properties are configured for items such as the cluster name. If the cluster name is not configured one is automatically generated based on the OS username running the client or server, for example, "User's cluster". When using the default configuration files, the cluster name must always be configured via the coherence.cluster property. The default configuration filename is mfes-cache-config.xml and it is located along the CLASSPATH within the mfescache.jar file. The configuration file can be extracted and modified if required.
The Coherence clients and servers can discover each other by multicasting or unicasting using a list of well-known addresses and will attempt to join to form a single cluster using a specified cluster name. The cluster name can be configured using the Java property coherence.cluster. See Oracle Coherence documentation for more information on cluster formation and configuration.
mfescache.wka.MYPAC_cluster={192.168.11.12:7574,192.168.11.14:7574}A Coherence server at one of the specified endpoints must be contactable to enable members to join or access the cluster. If the endpoint is not specified, then the port is set to the value of the coherence.clusterport value, the default value is the IANA registered port 7574. In environments where the network DNS can be configured to return multiple addresses for a network name then that facility can be used to simplify the configuration. If you are specifying a single endpoint address then the enclosing curly parentheses {} can be omitted.
To start a Coherence server for use with Enterprise Server you will require the following:
Both the Oracle Coherence coherence.jar file, and the Micro Focus mfescache.jar files must be on the Java CLASSPATH when running the server.
Unless the default cache configuration filename is being used, the location should be specified using the coherence.cacheconfig system property. This can be the name of a file on CLASSPATH, a path to a local file, or a URL providing the configuration content.
Each server cluster is started using a command similar to one of the following, assuming that the two jar files are in the current directory. Use a suitable cluster name in place of MYPAC_cluster; the class listed is a wrapper around the Coherence server, setting the following properties:
tangosol.pof.enabled=true, coherence.pof.config=es-pof-config.xml, coherence.role=server, coherence.cacheconfig=mfes-cache-config.xml
Micro Focus recommends that you use a minimum of 3 servers for a production environment, this will support data redundancy and recovery in case a server were to fail or require maintenance. For testing purposes, a single server is sufficient.
In Coherence, the minimum number of service members that are required in a cluster before a service action is allowed or disallowed is referred to as a quorum. You can configure a quorum policy to control when specific service actions are allowed in a cluster ensuring that a cluster is adequately provisioned. See Oracles Coherence documentation for more information. To assist you configuring of a quorum policy the supplied operational override file defaults the coherence.role to "es-client" and defaults the cluster-survivor-quorum timeout-survivor-quorum elements to require at least one "es-client" and one "server".
Other than log settings, the servers can typically be started using the same configuration, for example:
java -cp coherence.jar:mfescache.jar -Dcoherence.cluster=MYPAC_cluster -Dmfescache.wka.MYPAC_cluster={192.168.11.12:7574,192.168.11.14:7574} com.microfocus.es.cache.coherence.ESCacheServer
To send output to a file using the default port:
java -cp coherence.jar:mfescache.jar -Dcoherence.cluster=MYPAC_cluster -Dmfescache.wka.MYPAC_cluster={192.168.11.12,192.168.11.14} -Dcoherence.log=/tmp/coherence.log com.microfocus.es.cache.coherence.ESCacheServer
To specify an alternative cache configuration file:
java -cp coherence.jar:mfescache.jar -Dcoherence.cluster=MYPAC_cluster -Dmfescache.wka.MYPAC_cluster={192.168.11.12,192.168.11.14} -Dcoherence.cacheconfig=mycacheconfig.xml com.microfocus.es.cache.coherence.ESCacheServer
coherence.log=/logs/coherence_@PID@.logWould set the log to be /logs/coherence_1234@mymachine.log.
By default, for Enterprise Server clients the coherence.log.level property is set to 0 but this can be overridden by specifying it as part of the SOR configuration, for example:
ES_SCALE_OUT_REPOS_1=MYSOR=coherence,,coherence.cluster=MYPAC_cluster,,mfescache.wka.MYPAC_cluster=127.0.0.1,coherence.log.level=9,coherence.log=/tmp/coherence.log##TMP#
If security is enabled for the Coherence server, the user-id to use for access must be specified with an at character (@) as a suffix followed with the rest of the connection string, for example:
ES_SCALE_OUT_REPOS_1=MYSOR=coherence,MYUSER@mfes-cache-config.xml,coherence.cluster=MYPAC_cluster,mfescache.wka.MYPAC_cluster=127.0.0.1##TMP#
Micro Focus recommends that you store the password in the Vault Facility. See Vault Facility for more information.
Coherence security is configured using an "operational override" configuration file, this can be called tangosol-coherence-override.xml and is found on CLASSPATH or specified using the coherence.override system property. You must specify a corresponding Java security policy. A tangosol.coherence.override.xml file is included in the mfescache.jar, which by default does not specify any security settings.