配置
本章介绍每一个都散发着连贯性和应用和解决方案的详细介绍了如何创建自己的连贯性配置时覆盖这些文件的默认配置文件。
3.1默认的配置文件概述
Coherence 分布包括默认的XML配置文件内COHERENCE_HOME\ LIB \的coherence.jar库中所包含的一组。最简单的方法来检查这些文件及其相关的架构是相干库提取到一个目录。
提供一个默认的配置文件设置,允许用于Coherence 盒最小的变化。这些文件仅用于演示目的,并且可以重复使用或改变,需要为特定的应用或解决方案。然而,推荐的方法是提供覆盖默认的配置文件的配置文件。
默认的配置文件包括:
tangosol-coherence.xml
此文件提供操作和运行时间设置和用于创建和配置集群,通信和数据管理服务。此文件通常称为业务的部署描述符。这个文件的架构是的coherence-operational-config.xsd文件。请参阅附录A“操作配置元素,”一个完整的参考作战部署描述符中的元素。
tangosol-coherence-override-dev.xml
coherence是在开发模式开始时,在tangosol-coherence.xml 的文件,这个文件覆盖操作设置。默认情况下,coherence开始在开发模式,并使用此文件中的设置。在这个文件中的设置是适合发展的环境。此重写作战部署描述符文件和架构的架构文件是相同的。
tangosol-coherence-override-eval.xml
coherence评价模式开始时,在tangosol-coherence.xml的文件,这个文件覆盖操作设置。在这个文件中的设置适用于评估coherence。此重写作战部署描述符文件和架构的架构文件是相同的。
tangosol-coherence-override-prod.xml
在tangosol-coherence.xml的文件,这个文件覆盖操作设置一致性时开始在生产模式。在这个文件中的设置是适合于生产环境。此重写作战部署描述符文件和架构的架构文件是相同的。
coherence-cache-config.xml
此文件用于指定群集内的可用于不同类型的高速缓存。此文件通常称为缓存配置部署描述符。这个文件的架构是的coherence-cache-config.xsd的文件。请参阅附录B,“缓存配置元素,”在这个文件中的元素的完整参考。
coherence-pof-config.xml
这个文件是用来指定自定义数据类型时使用便携式对象格式(POF)的序列化对象。此文件通常简称为POF配置部署描述符。此文件的架构的coherence-pof-config.xsd的文件。请参阅附录D,的“POF用户类型配置元素”,在这个文件中的元素的完整参考。
Management configuration files
一组文件是用来配置的连贯性管理报告。这些文件位于在/目录内coherence.jar报告。这些文件包括一份报告组配置文件(report-group.xml,默认值),它是指任何数量的报表定义文件。每个报表定义文件创建基于一组特定的指标,显示管理信息的报告文件。这些文件的架构的 coherence-report-config.xsd文件和coherence-report-group-config.xsd文件,分别为。使用报告和参考这些配置文件中的元素的详细信息,请参阅Oracle Coherence的管理指南。
3.2指定运行配置文件
tangosol-coherence.xml的作战部署描述符提供了操作和运行时间设置和用于创建和配置集群,通信和数据管理服务。在运行时,coherence使用被发现tangosol-coherence.xml的classpath中的第一个实例。
预设的作战部署描述符附带相干位于在根的coherence.jar库。这个文件可以根据需要改变,然而,重写此文件时,建议配置的操作运行时间。参见“理解XML覆盖功能”XML重写功能的详细信息。
在本节包括以下主题:
使用默认业务覆盖文件,
指定运作改写文件
具体的操作元素定义改写文件
查看哪些操作重载文件加载
请参考第二部分,“使用相干集群”的详细说明,操作运行时间配置。
3.2.1使用的默认业务覆盖文件
元素在默认tangosol-coherence.xml文件覆盖通过放置一个业务覆盖文件在运行时命名tangosol-coherence-override.xml的在classpath中。覆盖文件和作战部署描述符的结构是相同的,除了所有的元素都是可选的。覆盖文件仅包含元素正在改变。任何缺少的元素加载从tangosol-coherence.xml文件。
在一般情况下,使用的业务覆盖文件配置操作运行时间,提供最全面的方法,是用在开发和生产环境。
要使用默认的业务覆盖文件:
1.创建一个文件名为tangosol-coherence-override.xml
2,编辑该文件并添加任何作战要素都是被覆盖。
下面的例子配置群集名称覆盖默认群集名称:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<cluster-config>
<member-identity>
<cluster-name system-property="tangosol.coherence.cluster">
MyCluster</cluster-name>
</member-identity>
</cluster-config>
</coherence>
3.保存并关闭该文件。
4.确保业务覆盖文件的位置是在运行时位于classpath中。
下面的例子演示如何启动缓存服务器使用一个覆盖文件位于COHERENCE_HOME。
java -cp COHERENCE_HOME;COHERENCE_HOME\lib\coherence.jar com.tangosol.net.DefaultCacheServer
Tip:
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指定业务覆盖文件
运营覆盖的tangosol.coherence.override系统属性指定要使用的文件,而不是默认tangosol-coherence-override.xml 文件。指定的文件和作战部署描述符的结构是相同的,除了所有的元素都是可选的。任何缺少的元素加载从tangosol-coherence.xml 文件。
系统属性tangosol.coherence.override之间切换不同的业务配置和方便的开发和测试过程中提供了一种简单的方法。
要指定一个业务覆盖文件:
1.创建一个文本文件。
2.编辑该文件并添加任何作战要素都是被覆盖。
3.下面的例子配置组播端口号:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<cluster-config>
<multicast-listener>
<port system-property="tangosol.coherence.clusterport">3059</port>
</multicast-listener>
</cluster-config>
</coherence>
4.将文件保存为一个XML文件,并关闭该文件。
指定业务覆盖文件作为一种价值tangosol.coherence.override系统属性的名称。如果文件位于classpath中,输入完整的(或相对)的文件路径和名称。系统属性也支持使用一个URL,时指定业务覆盖文件的位置。
下面的例子演示如何启动缓存服务器,并使用业务覆盖文件,名为cluster.xml位于COHERENCE_HOME的:
java -Dtangosol.coherence.override=cluster.xml -cp COHERENCE_HOME;COHERENCE_HOME\lib\coherence.jar com.tangosol.net.DefaultCacheServer
3.2.3具体操作元素定义重载文件
可以创建覆盖文件,覆盖的内容,具体操作元素。重载文件按照作战部署描述符相同的结构,但他们的根元素必须相匹配的元素,要覆盖。请参阅“定义自定义覆盖文件”的详细信息,具体操作元素定义的越权文件。
在一般情况下,覆盖文件,具体操作元素提供细粒度的控制,可能会修改部分作战部署描述符,并允许不同的配置来创建不同的部署方案。
要定义重载文件,具体操作元素:
1.创建tangosol-coherence-override.xml的文件中所描述的“使用默认的业务覆盖文件”。
2.添加一个XML-override属性的一个元素,要覆盖。 XML-override属性的值是一个覆盖文件的名称。
下面的示例定义一个覆盖文件名为 cluster-config.xml中用于覆盖<cluster-config>元素。
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<cluster-config xml-override="/cluster-config.xml">
...
</cluster-config>
</coherence>
3.保存并关闭该文件。
4.创建一个文本文件。
5.编辑该文件并添加一个XML节点对应的元素,要覆盖。 XML根元素必须要覆盖的元素相匹配。
从第2步中使用的例子,下面的节点创建覆盖<cluster-config>元素,指定一个组播连接超时。
<?xml version='1.0'?>
<cluster-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<multicast-listener>
<join-timeout-milliseconds>4000</join-timeout-milliseconds>
</multicast-listener>
</cluster-config>
6.将文件保存为一个XML文件具有相同的名称中使用XML-override属性。
7.确保两个覆盖文件的位置是在运行时位于classpath中。
8.下面的示例演示开始使用覆盖文件,它们位于COHERENCE_HOME缓存服务器:
java -cp COHERENCE_HOME;COHERENCE_HOME\lib\coherence.jar com.tangosol.net.DefaultCacheServer
3.2.4查看哪些操作重载文件加载
输出为Coherence 节点指示的操作在启动时加载的配置文件的位置和名称。的操作的配置信息是在启动进程时要发射的第一个消息。输出是采用多重覆盖文件时特别有用,往往是连贯性应用程序和解决方案的开发和测试时有用。
输出下面的例子演示了典型的所发出的消息:
加载运行配置资源:"jar:file:/D:/coherence/lib/coherence.jar!/tangosol-coherence.xml"
加载业务覆资源:"jar:file:/D:/coherence/lib/coherence.jar!/tangosol-coherence-override-dev.xml"
加载的业务覆盖资源:file:/D:/coherence/tangosol-coherence-override.xml"
可选的配置覆盖 "/cluster-config.xml" 中未指定
可选的配置覆盖"/custom-mbeans.xml"未指定
以上输出表明包括在coherence.jar作战部署描述符加载和覆盖由两个装重载文件:tangosol-coherence-override-dev.xml和tangosol-coherence-override.xml.,在这个文件中设置的。此外,两个覆盖文件被定义为具体的操作元素,但均未发现或在运行时加载。
3.3指定缓存配置文件
coherence-cache-config.xml 中的缓存配置部署描述符文件用来指定集群内,可用于各种类型的缓存。在运行时,coherence使用第一 coherence-cache-config.xml文件被发现在classpath中。一个样品的coherence-cache-config.xml文件中包含的coherence和位于根的coherence.jar库。示例文件只用于演示目的。可以根据需要更改或重复使用,但它建议创建自定义缓存配置部署描述符,而不是使用的样本文件。
注意事项:
建议(虽然不是必需的),所有缓存服务器节点的集群内使用相同的缓存配置描述符。
连贯性需要缓存配置部署描述符来启动。如果缓存配置部署描述符在运行时没有发现的错误信息表明是失败的加载配置资源,也提供未找到的文件的名称和位置。
在本节包括以下主题:
使用默认的缓存配置文件
覆盖默认的缓存配置文件
使用缓存配置文件系统属性
查看加载的缓存配置文件
请参考第三部分,配置高速缓存的详细说明中的“使用高速缓存”。
3.3.1使用默认的缓存配置文件
Coherence配置的方块使用第一 coherence-cache-config.xml文件在classpath中找到。要使用缓存 coherence-cache-config.xml文件中,该文件必须位于classpath中,必须先的coherence.jar库;否则,样品的 coherence-cache-config.xml文件,位于coherence.jar在使用。
要使用默认的缓存配置文件:
位于coherence.jar,并将其保存到不同的位置的样品的 coherence-cache-config.xml文件的副本。缓存的示例文件中所包含的定义是用于演示目的,并作为一个起点,创建解决方案特定的缓存配置。
确保在classpath中的 coherence-cache-config.xml文件保存的位置是在运行的时间和位置在classpath中coherence.jar文件之前。
下面的例子演示如何启动缓存服务器使用缓存 coherence-cache-config.xml中的缓存配置文件,位于COHERENCE_HOME:
java -cp COHERENCE_HOME;COHERENCE_HOME\lib\coherence.jar com.tangosol.net.DefaultCacheServer
3.3.2覆盖默认的缓存配置文件
默认名称和位置的缓存配置部署描述符中指定的操作部署描述符内<configurable-cache-factory-config>元素。此元素可以覆盖指定一个不同的名称用于默认的缓存配置文件的位置。
要覆盖默认的缓存配置文件:
1制作一个副本的 coherence-cache-config.xml中的默认缓存配置文件位于的coherence.jar和使用不同的名称保存到某个位置。
2创建tangosol-coherence-override.xml的文件中所描述的“使用默认的业务覆盖文件”。
3编辑业务覆盖文件和进入一个<configurable-cache-factory-config>,节点,指定在第1步中创建的缓存配置文件的名称。如果缓存配置文件位于classpath中,输入完整的路径(或相对)的文件以及。指定的高速缓存配置文件的位置时,该元件还支持使用一个URL。
下面的示例指定缓存配置部署描述符称为MyConfig.xml的。
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<configurable-cache-factory-config>
<init-params>
<init-param>
<param-type>java.lang.String</param-type>
<param-value system-property="tangosol.coherence.cacheconfig">
MyConfig.xml</param-value>
</init-param>
</init-params>
</configurable-cache-factory-config>
</coherence>
4保存并关闭该文件。
5确保业务覆盖文件的位置是在运行时位于classpath中。
下面的示例演示开始使用一个业务覆盖文件和一个自定义的缓存配置文件是位于COHERENCE_HOME的缓存服务器。
JAVA-CP COHERENCE_HOME; COHERENCE_HOME \ LIB \ coherence.jar com.tangosol.net.DefaultCacheServer
3.3.3使用缓存配置文件系统属性
tangosol.coherence.cacheconfig系统属性用于指定自定义缓存配置部署描述符来配置的默认缓存配置部署描述符可以用来代替。系统属性之间切换不同的配置和方便的开发和测试过程中提供了一种简单的方法。
要指定自定义的缓存配置文件的文件名,输入的tangosol.coherence.cacheconfig系统属性值。这通常是作为-D Java选项开始连贯节点时。如果文件位于classpath中,输入完整的(或相对)的文件路径和名称。缓存配置文件中指定的位置时,系统属性也支持使用一个URL。
以下示例启动一个缓存服务器,并指定缓存配置部署描述符中称为MyConfig.xml的位于COHERENCE_HOME的。
Java Dtangosol.coherence.cacheconfig的= MyConfig.xml CP COHERENCE_HOME COHERENCE_HOME\ LIB\ coherence.jar com.tangosol.net.DefaultCacheServer
3.3.4查看哪些缓存配置文件被加载
输出为coherence节点表示在启动时加载的缓存配置部署描述符的位置和名称。配置消息显示coherence.版权文本后发出的第一条消息。输出连贯性应用程序和解决方案的开发和测试时特别有用。
输出下面的例子演示了缓存的配置消息,这表明高速缓存配置部署描述符名为Myconfig.xml的加载:
加载缓存配置资源“file:/ D :/coherence/ Myconfig.xml的”
3.4指定一个POF配置文件
POF pof-config.xml中配置部署描述符文件用来指定自定义用户类型,使用时可移植对象(POF)的序列化格式。在运行时,coherence使用POF-config.xml中的第一个实例,发现在classpath中。
注意事项:
建议在群集内的所有节点使用完全相同的POF的配置部署描述符。
POF串行配置一个缓存计划的一部分,或全球所有缓存方案配置,只装载了POF配置部署描述符。默认 coherence-cache-config.xml中提供了一个例子POF串行缓存方案定义,但默认情况下是被注释掉的。
默认POF配置部署描述符相干分布位于在根的coherence.jar库。这个文件应该被定制,更换,或延长一个特定的应用或解决方案。默认情况下,部署描述符中引用的连贯性POF-config.xml文件。这是连贯性的特定用户类型的定义和扩展或创建一个POF配置文件时,应始终包含。
在本节包括以下主题:
使用POF配置文件系统属性
结合多个POF的配置文件
查看哪些POF配置文件被加载
使用便携式对象格式“配置POF用户类型的详细说明,请参阅第19章”。
3.4.1使用的POF配置文件系统属性
tangosol.pof.config系统属性用于指定一个自定义的POF被用来代替默认的POF-config.xml文件的配置部署描述符。系统属性之间切换不同的配置和方便的开发和测试过程中提供了一种简单的方法。
要指定自定义的POF配置文件:
1创建一个XML文件。
2编辑该文件并创建的一个<pof-config>节点,包括默认的连贯的POF用户类型:
<?xml version="1.0"?>
<pof-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-pof-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-pof-config
coherence-pof-config.xsd">
<user-type-list>
<include>coherence-pof-config.xml</include>
</user-type-list>
</pof-config>
3保存并关闭该文件。
4输入的文件名作为一种价值tangosol.pof.config系统属性。这通常是作为-D Java选项开始连贯节点时。如果文件位于classpath中,输入完整的(或相对)的文件路径和名称。指定的POF配置文件的位置时,系统属性还支持使用一个URL。
以下示例启动一个缓存服务器,并指定一个POF配置部署描述符称为MyPOF.xml的位于COHERENCE_HOME的。
Java Dtangosol.pof.config的= MyPOF.xml CP COHERENCE_HOME COHERENCE_HOME\ LIB\ coherence.jar com.tangosol.net.DefaultCacheServer
3.4.2结合多个POF配置文件
内使用的POF配置部署描述符的的<include>元素以包括用户定义的类型在不同的POF配置部署描述符。这允许用户类型以有意义的方式,如应用程序或开发组主办。
注意事项:
当组合多个POF的配置文件,每个用户定义的类型,必须有一个独特的<type-id>。如果不包括类型识别符,然后根据用户键入的顺序出现在复合材料中的配置文件类型标识符。
相结合多个POF的配置文件:
1打开一个现有的POF,在启动时加载的配置文件。
2添加的<include>的元素,其值是POF配置文件的名称。如果文件位于classpath中,输入 完整的(或相对)的文件路径和名称。一个URL也可以找到该文件。
下面的示例结合两个POF配置文件,除了默认的连贯POF配置文件:
<?xml version='1.0'?>
<pof-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-pof-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-pof-config
coherence-pof-config.xsd">
<user-type-list>
<include>coherence-pof-config.xml</include>
<include>hr-pof-config.xml</include>
<include>crm-pof-config.xml</include>
</user-type-list>
</pof-config>
3保存并关闭该文件。
如果需要,确保在运行时位置的POF的配置文件都位于classpath中。
下面的示例演示开始使用POF配置文件,位于COHERENCE_HOME缓存服务器。
JAVA-CP COHERENCE_HOME; COHERENCE_HOME\ LIB\ coherence.jar com.tangosol.net.DefaultCacheServer
3.4.3查看哪些POF配置文件被加载
输出为相干节点表示的POF在启动时加载的配置部署描述符的位置和名称。配置消息之间的消息显示相干版权文本后发出后,都与缓存服务被配置为使用POF。输出连贯性应用程序和解决方案的开发和测试时特别有用。
输出下面的例子演示表明,四个POF配置部署描述符被加载的POF的配置消息:
装载POF配置资源“file:/D:/coherence/my-pof-config.xml”
装载POF配置资源"file:/D:/coherence/coherence-pof-config.xml"
装载POF配置资源 "file:/D:/coherence/hr-pof-config.xml"
装载POF配置资源"file:/D:/coherence/crm-pof-config.xml"
3.5指定管理配置文件
有几种不同的配置文件,用于配置管理。这些措施包括:
报告组配置文件 - 一个报告组配置文件用于列出报表定义文件和书面报告的输出目录的名称和位置。作战部署描述符中定义该文件的名称和位置。默认情况下, report-group.xml 文件使用和是位于/报告目录coherence.jar。其他报告组配置文件,并可以根据需要创建自定义报告组文件。
配置文件报告 - 报告配置文件定义了一个报告文件中创建一组特定的指标,显示管理信息的报告和结果。报告配置文件必须引用在一份报告中组配置文件可以在运行时使用。报告的默认配置文件位于/报告的coherence.jar目录和组配置文件默认的报告所引用。可以根据需要创建自定义配置文件报告。
custom-mbeans.xml - 这个文件是默认的MBean配置的override文件和用于定义自定义MBean相干JMX管理和监测框架内(即,应用程序级的MBean)。这可以从任何节点群集内的任何应用程序级的MBean进行管理和监控。自定义MBean可以定义内业务覆盖文件。然而,在MBean配置覆盖文件通常被用来代替。
在本节包括以下主题:
指定自定义报告组配置文件
指定一个MBean配置文件
查看哪些管理配置文件被加载
连贯性管理的详细说明,请参阅Oracle Coherence的管理指南。
3.5.1指定自定义报告组配置文件
操作配置部署描述符中指定内<management-config>节点的默认报告组配置文件的名称和位置。可以指定一个自定义的报告组配置文件,通过使用一个业务覆盖文件或系统属性。
注意事项:
报告团只加载配置文件,如果启用了JMX管理。本节中的例子表明承载MBean服务器节点上启用JMX管理。
3.5.1.1覆盖默认的报告组配置文件
使用一个业务覆盖文件,可以指定自定义报告组配置文件的名称和位置。这个机制覆盖的报告组配置文件的默认名称和位置。
要覆盖默认的报告组配置文件:
1创建一个XML文件。
2编辑该文件并创建一个节点<report-group>如下。此示例配置了单一的报告。
<?xml version='1.0'?>
<report-group xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-report-group-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-report-group-config coherence-report-group-config.xsd">
<frequency>1m</frequency>
<output-directory>./</output-directory> <report-list> <report-config> <location>reports/report-node.xml</location> </report-config>
</report-list>
</report-group>
3.保存并关闭该文件。
4创建tangosol-coherence-override.xml 的文件中所描述的“使用默认的业务覆盖文件”。
5编辑文件,并进入的一个<management-config>节点,指定报告组配置文件的名称。如果报告组配置文件位于classpath中,输入完整的路径(或相对)的文件以及。元素也支持使用一个URL,时指定报表组配置文件的位置。
6下面的例子使JMX管理,并指定了一个报告团called my-group.xml.配置部署描述符
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<management-config>
<managed-nodes system-property="tangosol.coherence.management">all
</managed-nodes>
<reporter>
<configuration system-property="tangosol.coherence.management.report.
configuration">my-group.xml</configuration>
</reporter>
</management-config>
</coherence>
7保存并关闭该文件。
8确保业务覆盖文件的位置是在运行时位于classpath中。
下面的示例演示开始使用一个业务覆盖文件和报告组配置文件是位于COHERENCE_HOME的缓存服务器。
JAVA-CP COHERENCE_HOME; COHERENCE_HOME \ LIB \ coherence.jar com.tangosol.net.DefaultCacheServer
3.5.1.2使用报告组配置文件系统属性
tangosol.coherence.management.report.configuration系统属性用于指定自定义报告组配置文件来使用,而不是默认的report-group.xml的文件。系统属性之间切换不同的配置和方便的开发和测试过程中提供了一种简单的方法。
要指定自定义的报告组配置文件的文件名,输入的tangosol.coherence.management.report.configuration系统属性值。这通常是作为-D Java选项开始连贯节点时。如果文件位于classpath中,输入完整的(或相对)的文件路径和名称。系统属性也支持使用一个URL,时指定报表组配置文件的位置。
以下示例启动一个缓存服务器,使JMX管理,并指定一个报告组配置文件命名为my-group.xml位于COHERENCE_HOME。
java-Dtangosol.coherence.management=allDtangosol.coherence.management.report.configuration=my-group.xml -cp COHERENCE_HOME;COHERENCE_HOME\lib\coherence.jar com.tangosol.net.DefaultCacheServer
3.5.2指定一个MBean配置文件
tangosol-coherence.xml的作战部署描述符定义了一个业务覆盖文件被命名为定制mbeans.xml的的,专门用来定义自定义MBean。覆盖文件的名称和位置也可以指定使用的MBean配置文件系统属性。
3.5.2.1使用默认的MBean配置覆盖文件
自定义MBean定义覆盖文件内名为定制mbeans.xml的。在运行时,coherence使用在classpath中发现的第一个实例定制mbeans.xml的。
要使用默认的MBean配置覆盖文件:
创建一个文件名为定制mbeans.xml的。
编辑该文件并创建一个的空<mbeans>节点如下:
<?xml version='1.0'?>
<mbeans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
</mbeans>
保存并关闭该文件。
确保位于classpath中的自定义MBean的配置覆盖文件在运行时的位置。
下面的例子演示如何启动缓存服务器使用默认的MBean配置覆盖文件位于COHERENCE_HOME。
JAVA-CP COHERENCE_HOME; COHERENCE_HOME\ LIB\ coherence.jar com.tangosol.net.DefaultCacheServer
3.5.2.2使用的MBean配置文件系统属性
tangosol.coherence.mbeans系统属性指定一个MBean配置覆盖要使用的文件,而不是默认 custom-mbeans.xml的覆盖文件。系统属性提供了一种简单的方法来切换不同的MBean之间的配置和方便的开发和测试过程中。
要指定一个MBean配置覆盖文件的文件名,输入值的tangosol.coherence.mbeans系统属性。这通常是作为-D Java选项开始连贯节点时。如果文件位于classpath中,输入完整的(或相对)的文件路径和名称。系统属性也支持使用一个URL的MBean配置覆盖文件时指定的位置。
以下示例启动一个缓存服务器,并指定一个MBean的配置覆盖文件,该文件名为my-mbeans.xml位于COHERENCE_HOME。
java -Dtangosol.coherence.mbeans=my-mbeans.xml -cp COHERENCE_HOME;COHERENCE_HOME\lib\coherence.jar com.tangosol.net.DefaultCacheServer
3.5.3查看哪些管理配置文件被加载
输出为Coherence 节点表示报告团配置文件的MBean在启动时加载的配置文件的位置和名称。输出连贯性应用程序和解决方案的开发和测试时特别有用。
报告组配置文件
报告团的配置消息之间的相干版权文本后发出的消息显示。
输出下面的例子演示了一个报告团的my-group.xml的文件被加载的配置消息,指出:
加载记者配置从 "file:/D:/coherence/my-group.xml
MBean的配置覆盖文件
MBean配置消息发出与其他业务覆盖信息和是首批启动进程时发出的消息。输出是特别有用的,使用重载文件时,往往是连贯性应用程序和解决方案的开发和测试时有用。
输出下面的例子演示了一个业务覆盖消息表示默认MBean的配置倍率文件被加载:
加载的业务覆盖资源 "file:/D:/coherence/custom-mbeans.xml"
3.6禁用模式验证
coherence使用架构验证,以确保配置文件坚持到各自的架构定义。配置文件,其中包括一个模式参考模式对配置文件被加载时,会被自动验证。验证错误导致立即失败,并发出一个错误消息,表明哪个元素造成的错误。 Schema验证应始终作为一个最佳实践。
Schema可以被禁用,如果需要的话。要禁用模式验证,删除的xsi:schemaLocation属性从一个配置文件。下面的例子创建一个不包含架构参考tangosol-coherence-override.xml文件,并加载时不验证:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config">
...
</coherence>
注意事项:
当禁用模式验证,连贯性失败,如果XML是畸形的。语法错误被忽略,并且可能不会立即显现。
3.7了解XML的覆盖功能
XML覆盖功能的配置机制,它允许任何操作设置,而无需编辑默认tangosol-coherence.xml 的作战部署描述符是位于coherence.jar在改变。这个机制是配置的连贯性的操作运行时间的首选方式。
XML重写功能关联的XML文件,通常被称为一个覆盖文件,与具体操作的XML元素。 XML元素及其子元素,然后在重写文件需要修改。在运行时,相干覆盖加载文件和它的元素替换(或添加)的元素,在tangosol-coherence.xml 文件。
override档案,不必在运行时存在。不过,如果重写文件确实存在,那么它的根元素必须相匹配的元素,它覆盖。此外,子元素是可选的。如果一个子元素覆盖文件中没有定义,它被加载从tangosol-coherence.xml 的文件。通常情况下,只有正在被改变或添加的子元素被放置在覆盖文件。
在本节包括以下主题:
使用预定义的重载文件
定义自定义覆盖文件
定义多重覆盖文件相同的元素
3.7.1使用预定义的重载文件
两个覆盖文件是预定义的,并且可以覆盖在作战部署描述符中的元素。这些文件必须手动创建和保存的classpath中的一个位置:
tangosol-coherence-override.xml-
这覆盖文件被定义为的<coherence>根元素和用于覆盖作战部署描述符中的任何元素。在这个文件的根元素必须是元素<coherence>。
custom-mbeans.xml
覆盖文件定义的<mbeans>元素并用于作战部署描述符中添加自定义MBean。在这个文件的根元素必须是元素<mbeans>。
下面的示例演示 tangosol-coherence-override.xml 的文件,用于覆盖默认群集名称。所有其他的操作设置加载从Tangosol的coherence.xml的文件。
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<cluster-config>
<member-identity>
<cluster-name system-property="tangosol.coherence.cluster">MyCluster
</cluster-name>
</member-identity>
</cluster-config>
</coherence>
下面的示例演示 tangosol-coherence-override.xml的文件,用来禁用本地存储在此节点上的分布式缓存服务。请注意一个id属性区分的元素可以多次使用。 id属性必须被覆盖的元素的id属性相匹配。
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<cluster-config>
<services>
<service id="3">
<init-params>
<init-param id="4">
<param-name>local-storage</param-name>
<param-value system-property="tangosol.coherence.distributed.
localstorage">false</param-value>
</init-param>
</init-params>
</service>
</services>
</cluster-config>
</coherence>
下面的示例演示一个定制mbean.xml的的标准MBean定义文件中添加到列表中的MBean。
<mbeans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<mbean id="100">
<mbean-class>com.oracle.customMBeans.Query</mbean-class>
<mbean-name>type=Query</mbean-name>
<enabled>true</enabled>
</mbean>
</mbeans>
3.7.2定义自定义重载文件
可以使用预定义 tangosol-coherence-override.xml 的的文件覆盖的 tangosol-coherence.xml 的部署描述符中的任何元素。然而,可能存在的情况下更细粒度的配置控制是必需的。例如,一个解决方案可能希望允许更改某些元素,但不希望的允许变动的完整的业务部署描述符。作为另一个例子,一个解决方案可能希望根据不同的使用情况,以提供不同的配置。自定义覆盖文件用于支持这些类型的场景。
使用XML重写和id属性
覆盖文件使用XML-override属性定义,如果需要的话,id属性。这两个属性是可选的,被添加到要覆盖的操作元素。支持使用覆盖文件的操作元素的列表,请参见“属性参考”。
XML-override属性的值是一个文件的名称使用ClassLoader.getResourceAsStream(Srting name)方法包含的类在coherence.jar库访问。在一般情况下,文件名包含/前缀,并在运行时位于classpath中。该属性还支持使用一个URL指定的位置时,手柄文件。
例如,要定义一个覆盖文件名为 cluster-config.xml中用于覆盖<cluster-config>元素,添加一个XML覆盖的的元素在<cluster-config> tangosol-coherence-override.xml的的属性文件如下所示:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<cluster-config xml-override="/cluster-config.xml">
...
</cluster-config>
</coherence>
要使用这个覆盖文件,创建一个文件名为集群-config.xml中,并确保它和基础文件(T(tangosol-coherence-override.xml的在这种情况下)坐落在一个目录中,在运行时在classpath中。对于这个例子,手柄文件的根元素必须是<cluster-config>,如下所示。
<?xml version='1.0'?>
<cluster-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<multicast-listener>
<join-timeout-milliseconds>4000</join-timeout-milliseconds>
</multicast-listener>
</cluster-config>
一个id属性是用来区分元素,可以出现更多的多次。
例如,要定义一个自定义的的覆盖文件名为 dist-service-config.xml ,用于分布式缓存服务覆盖的<service>的元素,添加一个XML-override属性id为3号<service>元素如下图所示:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<cluster-config>
<services>
<service id="3" xml-override="/dist-service-config.xml">
</service>
</services>
</cluster-config>
</coherence>
要使用这个覆盖文件,创建一个文件名为 dist-service-config.xml,并确保它坐落在一个目录中,在运行时在classpath中。对于这个例子,手柄文件的根元素必须是的的<service>,如下所示:
<?xml version='1.0'?>
<service id="3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<init-params>
<init-param id="1">
<param-name>standard-lease-milliseconds</param-name>
<param-value>2</param-value>
</init-param>
</init-params>
</service>
注意事项:
如果手柄文档中的元素的id不具有如同在基础文件,元素被追加到基础文档。
3.7.3定义多个重载文件相同的元素
多重覆盖文件可以定义相同的元素链业务覆盖文件。这通常是允许运行的配置,根据不同的部署方案,如分期及生产。
作为一个例子,操作部署描述符 tangosol-coherence.xml的位于在coherence.jar定义操作override文件为<coherence>的元素如下:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd"
xml-override="{tangosol.coherence.override/tangosol-coherence-override-{mode}
.xml}">
...
</coherence>
特定模式的覆写文件也设在coherence.jar的,并用于根据相干启动模式(值的<license-mode>元素)。 ,反过来,每一个特定于模式的操作重载文件定义了默认的业务覆盖文件,如下所示:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd"
xml-override="/tangosol-coherence-override.xml">
...
</coherence>
第四个覆盖文件可以定义为<coherence>元素tangosol-coherence-override.xml文件。例如:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd"
xml-override="/tangosol-coherence-override-staging.xml">
...
</coherence>
链可以继续需要。文件都在运行时加载,如果它们被放置在一个位置在classpath中。链中更高的文件总是覆盖链中的以下文件。
3.8改变配置使用系统属性
命令行覆盖功能允许操作和缓存的设置是使用系统属性覆盖。系统属性通常使用的Java-D选项Java命令行上指定。这允许配置一个集群中的每个节点进行定制,同时使用相同的运行配置文件和各节点的缓存配置文件。系统属性也是一种方便快捷的方式,在开发过程中更改设置。
在本节包括以下主题:
使用预配置的系统属性
创建自定义系统属性
3.8.1使用预配置的系统属性
Coherence 包括许多预先配置的系统属性,用于覆盖不同的业务和高速缓存设置。表C-1列出了所有的预配置的系统属性。内Tangosol的coherence.xml的和 coherence-cache-config.xml 中的默认的部署描述符中定义的预先配置的系统性能,使用系统属性的属性。
例如,预配置的tangosol.coherence.log.level系统属性被定义在tangosol-coherence.xml文件内容如下:
<logging-config>
... <severity-level system-property="tangosol.coherence.log.level">5
</severity-level>
...</logging-config>
要使用预先配置的系统属性,添加系统属性,在启动一个Java-D选项。对于上面的例子中,日志级别系统属性启动缓存服务器时指定为如下:
Java Dtangosol.coherence.log.level的= 3-CP COHERENCE_HOME \ LIB \ coherence.jar com.tangosol.net.DefaultCacheServer
注意事项:
当使用业务覆盖文件,并创建一个自定义的缓存配置文件时,预先配置的系统属性必须始终被列入要覆盖的元素,否则,物业不再提供。
3.8.2创建自定义系统属性
可以创建自定义系统属性的任何业务或高速缓存配置元素。预先配置的系统属性的名称,也可以根据需要改变。
系统属性的定义,增加了系统属性属性的元素,要覆盖。系统属性属性的值可以是任何用户定义的名称。自定义系统属性通常定义在操作覆盖文件(例如作为tangosol-coherence-override.xml)和一个自定义的缓存配置文件。
操作元素定义系统属性
下面的例子定义系统属性,称为multicast.join.timeout的<join-timeout-milliseconds>操作元素被添加到一个业务覆盖文件:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<cluster-config>
<multicast-listener>
<join-timeout-milliseconds system-property="multicast.join.timeout">30000
</join-timeout-milliseconds>
</multicast-listener>
</cluster-config>
</coherence>
定义系统属性缓存配置元素
下面的例子定义系统属性称为cache.name一个<cache-name>元素被添加到自定义缓存配置文件:
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config
coherence-cache-config.xsd">
<caching-scheme-mapping>
<cache-mapping>
<cache-name system-property="cache.name"></cache-name>
...
更改预先配置的系统属性
下面的例子改变了预配置的系统属性名称的<cluster-name>操作元素被添加到一个业务覆盖文件:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/
coherence-operational-config coherence-operational-config.xsd">
<cluster-config>
<member-identity>
<cluster-name system-property="myapp.cluster.name"></cluster-name>
</member-identity>
</cluster-config>
</coherence>
注意事项:
要删除的系统属性,删除“系统属性”属性的元素。如果一个系统属性用于在运行时,它不存在,它被忽略。