gpt4 book ai didi

java - 无法使用 ehcache 配置 JPA

转载 作者:搜寻专家 更新时间:2023-10-31 20:15:49 25 4
gpt4 key购买 nike

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

  • 持久性.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>
  • 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>
  • Product.java

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

我没有收到任何异常,但我看不到 ehcache 正常工作,因为日志中打印的不是特定于 ehcache 的内容。如果有人可以提供帮助,我将不胜感激。

最佳答案

在 persistence.xml 中添加以下属性:

<property name="openjpa.QueryCache" value="ehcache"/>
<property name="openjpa.DataCacheManager" value="ehcache"/>

在类路径中添加以下 jar:ehcache-core-2.4.4.jarehcache-openjpa-0.2.0.jarslf4j-api -1.6.1.jar.

就这些。

Jar 下载:

引用资料

关于java - 无法使用 ehcache 配置 JPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4792233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com