2011-01-25 2 views
5

ehcache를 사용하여 JPA를 구성하려고했지만 지금까지 성공하지 못했습니다. 내가 뭐하는 거지 구성은 다음과 같습니다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> 
    
  • 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를 볼 수 없습니다. 누군가가이 문제를 해결할 수 있다면 정말 감사하겠습니다.

+0

스택 오버플로가 _not_ 포럼입니다, 게시하지 마십시오 귀하의 질문에있는 문제를 해결하지 않는 대답. 긴 코드 스 니펫을 게시하는 경우 _question_의 일부 여야합니다. 몇 가지 답변을 삭제했습니다. –

답변

4

의 persistence.xml에 다음과 같은 속성을 추가

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

이 클래스 경로에 다음 jar를 추가 ehcache-core-2.4.4.jar, ehcache-openjpa-0.2.0.jarslf4j-api-1.6.1.jar을.

그게 전부입니다.

항아리 다운로드 :

,210

참조

관련 문제