2010-03-03 4 views
1

ehcache 2.0과 관련된 이상한 문제가 있습니다. 누군가가 도와 줄 수 있기를 바랍니다. A와 B 두 호스트의 클러스터를 설정했습니다. 하트 비트가 양쪽에서 수신되는 것을 볼 수 있으므로 네트워킹과 멀티 캐스트가 작동하고 있음을 확신합니다. 문제는 호스트 A의 캐시에 요소를 넣었고 호스트 B의 로그에서 원격 put을 볼 수 있다는 것입니다. 그러나 호스트 B에서 동일한 요소를 요청하면 데이터베이스에 연결되어 쿼리가 수행됩니다. 이것의 원인은 무엇일까요? 어떤 포인터에 감사드립니다!Ehcache - 분산 된 RMI가 작동하지 않습니다.

답변

0

하이 레벨과 Ehcache를 두 번째 레벨 캐시로 사용하고 있습니까? 또는 DB 위에있는 캐시?

0

설명에 따라, RMI 모드 w/멀티 캐스트 자동 피어 검색에서 ehcache를 실행하고 있습니다. 캐시 이벤트 알림이 작동하는 것처럼 들립니다.

이 설정에서 설정 만료에 따라 당신이 "얻을"때, 요소가 만료 수도 호스트 B.

의 설명서에서, http://ehcache.org/documentation/storage_options.html, 메모리 사용, 스풀링 및 만기 전략 미만 : 이것은 나의 추측이다 :

요소에 get 또는 getQuiet가 있으면 유효성이 검사됩니다. 만료되면 제거되고 널 (null)이 리턴됩니다.

설정 파일을 살펴보고 eternal, timeToIdleSeconds 및 timeToLiveSeconds의 값을 확인하십시오.

<cache name="sampleDistributedCache2" 
     maxElementsInMemory="10" 
     eternal="false"       
     timeToIdleSeconds="100" 
     timeToLiveSeconds="100" 
     overflowToDisk="false"></cache>