2016-11-18 6 views
0

Hazelcast 3.7.x (최신 글 작성 중) JCache 제공 업체 및 선언적 구성 (스레딩 등의 이점)을 사용하려고합니다. 내 유스 케이스의 경우 최대 지속 시간 (초)이 아닌 최대 지속 시간 (초)을 설정해야합니다. 업데이트가 완료되지 않은 경우에만 항목을 캐시에 유지해야합니다 (캐시에서 항목의 수명 동안 읽기가 발생 함). max-idle-seconds를 설정하지 않으면 기본적으로 0으로 설정되고 캐시의 항목이 영원히 유지됩니다. TTL보다 약간의 값을 설정하면 읽기가 진행될 수 있으므로 의도 한 시간보다 오래 머무를 수 있습니다. hazelcast.xml 문서에서 어떻게하는지 알 수 없었습니다. 다른 expiry 정책을 가지고 있지만 Hazelcast 문서에 문서화 된 초기화 문제가있는 프로그래밍 인터페이스를 사용할 수 있습니다. JCache 제공 업체가 XML을 처리 할 수 ​​있다면 XML로 처리하는 방법이있을 것이라고 의심됩니다.Hazelcast JCache에서 최대 대기 시간을 무시하지만 ttl을 유지하는 방법은 무엇입니까?

그럴 수 없다면 스레드 문제가있는 프로그래밍 방식 구성에서 작동하는 JCache 코드가 있어야주의해야합니다. 만약 하나의 스레딩 문제 만 해결한다면 나는 스스로 할 수있다.

감사 S

답변

0

어느 최대 유휴 - 초도 활동 시간 - 초는 Hazelcast XML 구성의 Jcache 구성에 적용 할 수 있습니다. 캐시 요소는 하나의 하위 요소 'timed-expiry-policy'만 가질 수 있고 수정, 수정 등의 옵션을 가질 수있는 "만료 정책 팩토리"만 가질 수 있습니다. 구성은 다음과 같을 것입니다 :

<cache name="somecache"> 
     <key-type class-name="java.lang.String"/> 
     <value-type class-name="java.lang.String"/> 
     <statistics-enabled>true</statistics-enabled> 
     <management-enabled>true</management-enabled> 
     <read-through>false</read-through> 
     <write-through>false</write-through> 
     <in-memory-format>OBJECT</in-memory-format> 
     <expiry-policy-factory> 
      <timed-expiry-policy-factory expiry-policy-type="MODIFIED" duration-amount="5" time-unit="SECONDS"/> 
       </expiry-policy-factory> 
     <backup-count>1</backup-count> 
    </cache>