Coherence transient cache를 사용하는 비즈니스 기능을 구현하려고합니다.Coherence EntryProcessor 쿼리
내가 의존하려는 기능 중 하나는 캐시에 항목을 넣을 때 (구성 가능한) TTL (Time-To-Live)을 제공 할 때 캐시 항목 자동 제거입니다. NamedCache 인터페이스는 이것을 실현하기위한 API를 제공합니다 (http://download.oracle.com/otn_hosted_doc/coherence/330/com/tangosol/net/NamedCache.html#put(java.lang.Object, java.lang.Object, long)).
그러나 엔트리 프로세서를 사용하여 클러스터 전체에서 효과적인 동시성을 보장 할 계획입니다. 나는 프로세서의 범위 내에서 캐시의 키로 값을 가져 오거나 설정하기 위해 InvocableMap.Entry로 작업해야하는 지점에 갇혀있다. 불행히도 time-to-live 값을 지정할 수있는 setValue 메서드는 없습니다.
EntryProcessor의 프로세스 메서드 내에서 NamedCache 참조와 직접 인터페이스하면 좋은 생각이 아니므로 EntryProcessor가 제공하는 동시성 보장이 손상됩니다. 노드의 클러스터를 통해 최적의 동시성을 보장하면서
당신은 (동적으로 결정) 일정한 시간이 지나면 퇴거 항목을 얻을 수있는 가장 좋은 방법이 될 수 있는지에 대한 의견을 공유시겠습니까?
자동 퇴거 기능을 사용하는 데 익숙하지 않습니다. 그러나이를 포기한다면 클러스터를 통해 안정적으로 작동하는 항목을 타이머 방식의 프로그래밍 방식으로 제거해야 할 수 있습니다. 다시 말하지만, 나는 이것에 대한 아이디어가 부족합니다. 이상적으로, 나는 Coherence가 이것을 처리하기를 원할 것이다.
미리 감사드립니다.
감사합니다, - 아 디트
감사합니다! 나는 그것을 정확하게 끝내었다. –