有效 ehcache.xml 使用 grails3 的 ehcache3 插件

valid ehcache.xml using ehcache3 plugin for grails3

grails 版本 3.3.1 缓存-ehcache:3.0.0.M1

有人可以给我发一份有效的 ehcache.xml吗?

我的文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="ehcache.xsd"
     updateCheck="true"
     monitoring="autodetect"
     dynamicConfig="true">

    <diskStore path="java.io.tmpdir"/>

    <cache name="sevenSeconds"
       maxEntriesLocalHeap="100"
       maxEntriesLocalDisk="1000"
       eternal="false"
       timeToLiveSeconds="7"
       timeToIdleSeconds="0"
       memoryStoreEvictionPolicy="LFU"
       transactionalMode="off">
       <persistence strategy="localTempSwap" />
    </cache>

    <defaultCache
        maxElementsInMemory="50000"
        eternal="false"
        timeToIdleSeconds="120"
        timeToLiveSeconds="120"
        overflowToDisk="true"
        diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="LRU"
    />
</ehcache>

我在启动时收到此错误:

Caused by: org.ehcache.xml.exceptions.XmlConfigurationException: Error parsing XML configuration at file:/home/user/workspaces/api2-grails/grails-app/conf/ehcacheCustom.xml
Caused by: org.xml.sax.SAXParseException: cvc-elt.1.a: Cannot find the declaration of element 'ehcache'.

感谢建议

自 ehcache 3.0.0 起,xml 格式发生了变化。这是我的基本版本:

<?xml version="1.0" encoding="UTF-8"?>       
<config
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns='http://www.ehcache.org/v3'
xsi:schemaLocation="ehcache-core.xsd">
    <persistence directory="java.io.tmpdir"/>
    <cache alias="twentySeconds">
        <expiry>
            <ttl unit="seconds">20</ttl>
        </expiry>
        <heap>2</heap>
    </cache>
</config>

在遇到同样的问题后,我发现了这个 link 并以此为基础得到了以下工作示例:

<ehcache:config xmlns:ehcache="http://www.ehcache.org/v3" xmlns:jcache="http://www.ehcache.org/v3/jsr107">
    <ehcache:cache alias="books">
        <ehcache:key-type>java.lang.String</ehcache:key-type>
        <ehcache:value-type>hello.Book</ehcache:value-type>
        <ehcache:resources>
            <ehcache:heap unit="MB">1</ehcache:heap>
            <!--ehcache:offheap unit="MB">10</ehcache:offheap-->
        </ehcache:resources>
    </ehcache:cache>
</ehcache:config>