namedCache 到 Localcahce infinispan-config-12.1.xsd

namedCache to Localcahce infinispan-config-12.1.xsd

我在尝试升级到 12.1 版本时遇到类似的配置,但出现错误,

Check that your configuration is up-to date for Infinispan '12.1.4.Final' and if you have the proper dependency in the classpath: org.infinispan.commons.CacheConfigurationException: ISPN000327: Cannot find a parser for element 'named-cache' in namespace 'urn:infinispan:config:12.1'.

我找不到以下配置的替代品,请输入您的建议。

<infinispan
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:infinispan:config:5.1 http://www.infinispan.org/schemas/infinispan-config-5.1.xsd"
        xmlns="urn:infinispan:config:5.1">

    <namedCache name="test-cache">
        <eviction strategy="LIRS" maxEntries="1000"/>
        <expiration lifespan="5400000" maxIdle="4400000"/>
    </namedCache>
</infinispan>

这是我正在尝试升级的当前版本。

 <dependency>
        <groupId>org.infinispan</groupId>
        <artifactId>infinispan-core</artifactId>
         <version>12.1.7.Final</version
</dependency>

documentation 建议:

<infinispan>
   <cache-container>
      <!-- Configures a local cache. -->
      <local-cache name="local"/>
   </cache-container>
</infinispan>

这将为您提供一个本地缓存,replicated-cachedistributed-cache 存在类似的元素。等等。现在的驱逐似乎是由内存元素处理的,REMOVE 取代了 LIRS 等长期弃用(现已消失)的策略,等等(不知道为什么或是否有更细粒度的控制超过该策略仍然是可能的),请参阅文档中的 Eviction

<local-cache name="maximum_count">
  <encoding media-type="application/x-protostream"/>
  <memory max-count="500" when-full="REMOVE"/>
</local-cache>

Expiration 看起来还是像以前一样工作。

虽然 xsd 模式往往很难阅读,但此 xml 的 one 至少不是非常复杂,但大部分是直截了当的。