我在阅读Infinispan指南时有点困惑。
我想要有两个集群缓存,假设必须有单独的jgroups文件才能有不同的组播地址,但是应该只有一个缓存容器吗?
<?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>发布于 2016-03-07 17:19:56
您不需要为每个集群缓存使用单独的jgroups文件。只需配置缓存容器的传输元素,然后就可以在该缓存容器中定义任意数量的缓存。
发布于 2016-03-09 18:11:54
仅当您希望缓存容器形成不同的集群时,才需要不同的组播地址。我认为这里令人困惑的是,您可以在JGroups中定义多个stack-file元素,但您只能真正指定单个cache-container元素。XSD不够精确,但是代码中的解析器假定有一个全局配置构建器实例,因此有一个缓存容器。因此,如果您想创建两个单独的缓存容器,那么当前应该在单独的XML文件中定义这两个容器。
https://stackoverflow.com/questions/35827198
复制相似问题