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

时间:2018-07-02 16:10:36

标签: grails3 ehcache-3

grails版本3.3.1 cache-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'.

感谢建议

2 个答案:

答案 0 :(得分:0)

自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>

答案 1 :(得分:0)

在遇到相同问题后,我发现了这个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>