无法使用ehcache配置JPA

Gag*_*ora 5 java jpa ehcache

我一直在尝试使用ehcache配置JPA但直到现在都没有成功.我正在做的配置是:

  • persistence.xml中

    <persistence-unit name="customDatabase">
      <jta-data-source>jdbc/oracleXE_DS</jta-data-source>
      <class>com.td.waw.cse.entities.Product</class>
      <properties>
                       <property name="openjpa.Log" value="DefaultLevel=TRACE, Runtime=INFO, Tool=INFO, SQL=TRACE"/>
               <property name="openjpa.QueryCache" value="net.sf.ehcache.openjpa.datacache.EhCacheQueryCache"/>
       <property name="openjpa.DataCacheManager" value="net.sf.ehcache.openjpa.datacache.EhCacheDataCacheManager"/>
       <property name="openjpa.DataCache" value="net.sf.ehcache.openjpa.datacache.EhCacheDataCache"/>
       <property name="openjpa.RemoteCommitProvider" value="net.sf.ehcache.openjpa.datacache.NoOpRemoteCommitProvider"/>
    </properties>
    
    Run Code Online (Sandbox Code Playgroud)
  • ehcache.xml中

    <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:noNamespaceSchemaLocation="ehcache.xsd"
             updateCheck="true" monitoring="autodetect"
             dynamicConfig="true" >
        <defaultCache
        maxElementsInMemory="1000"
        eternal="false"
        timeToIdleSeconds="300"
        timeToLiveSeconds="600"
        overflowToDisk="false"
        memoryStoreEvictionPolicy="LRU"
        />
    
        <!-- OpenJPA data cache -->
        <cache name="openjpa"
        maxElementsInMemory="5000"
        eternal="false"
        timeToIdleSeconds="300"
        timeToLiveSeconds="600"
        overflowToDisk="false"
        memoryStoreEvictionPolicy="LRU"
        />
    
        <!-- OpenJPA query cache -->
        <cache name="openjpa-querycache"
        maxElementsInMemory="1000"
        eternal="false"
        timeToIdleSeconds="300"
        timeToLiveSeconds="600"
        overflowToDisk="false"
        memoryStoreEvictionPolicy="LRU"
        />
    </ehcache>
    
    Run Code Online (Sandbox Code Playgroud)
  • Product.java

    @Entity
    @Table(name="PRODUCT")
    @NamedQueries({@NamedQuery(name="getAllProducts", query = "select products from Product products")})
    public class Product implements Serializable {}
    
    Run Code Online (Sandbox Code Playgroud)

我没有得到任何例外,但我看不到ehcache在日志中打印的ehcache没有特定的功能.如果有人可以提供帮助,我将非常感激.

Dat*_*eus 0

DataNucleus 与 EHCache 完美配合,使用此处指定的配置 http://www.datanucleus.org/products/accessplatform_2_2/jpa/cache.html#ehcache 每当访问 L2 缓存时,它将打印有关 L2 缓存的日志消息。您没有提及您的 JPA 提供商。