Infinispan配置

时间:2016-03-06 13:09:23

标签: infinispan

我对阅读Infinispan指南感到有点困惑。

我想拥有两个集群缓存,可能必须有单独的jgroup文件才能拥有不同的多播地址,但是应该只有一个缓存包含吗?

<?xml version="1.0" encoding="UTF-8"?>
<infinispan
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:infinispan:config:8.0 http://www.infinispan.org/schemas/infinispan-config-8.0.xsd"
        xmlns="urn:infinispan:config:8.0">

    <jgroups>
        <stack-file name="file1" path="jgroups1.xml" /> 
        <stack-file name="file2" path="jgroups2.xml" />

    </jgroups>

<cache-container default-cache="cache1">  
    <transport stack="file1" node-name="${nodeName}" /> 

    <invalidation-cache name="cache1" configuration="invalidation-template" />
    <invalidation-cache name="cache2" configuration="invalidation-template" />

    <invalidation-cache-configuration name="invalidation-template" mode="SYNC" >
        <locking isolation="READ_COMMITTED" striping="true"/>
        <transaction locking="OPTIMISTIC"/>
        <eviction max-entries="20500" strategy="LRU"/>
        <expiration interval="10500" />
    </invalidation-cache-configuration>

     </cache-container>

 </infinispan>

2 个答案:

答案 0 :(得分:1)

每个群集缓存都不需要单独的jgroups文件。只需配置缓存容器的transport元素,然后就可以在缓存容器中定义任意数量的缓存。

答案 1 :(得分:1)

仅当您希望缓存容器形成不同的群集时,才需要不同的多播地址。我认为这里令人困惑的是你可以在JGroups中定义多个stack-file元素,但是你只能真正指定一个cache-container元素。 XSD不够精确,但代码中的解析器假定一个全局配置构建器实例,因此是一个缓存容器。因此,如果要创建两个单独的缓存容器,这些容器当前应该在单独的XML文件中定义。