Java와 함께 Oracle Coherence 캐시를 사용하고 있으며 문제가 있습니다. 캐시에 (지도와 같은) 무언가를 넣고 get 호출을 사용하여 다시 가져온 다음 개체를 수정 (예 :지도에 값 추가)하면 수정 된 값이 캐시에 반영되지 않습니다. 즉 내가 다시 get을하면 같은 오래된 객체를 얻을 것이다. 이것은 ehcache 또는 dynacache에서는 발생하지 않습니다.Oracle Coherence - 데이터 변경이 캐시에 반영되지 않았습니다.
수정 된 맵을 캐시에 다시 쓸 수 있다는 것을 알고 있지만 일관성 구성 XML에서 수행 할 수있는 구성이 있는지 알고 싶습니다.
샘플 코드 : 실행 후
ConcurrentHashMap<String, String> myMap = new ConcurrentHashMap<String, String>(); myMap.put("Hello", "World"); cache.put("myMap", myMap); ConcurrentHashMap<String, String> myExMap = (ConcurrentHashMap<String, String>)cache.get("myMap"); myExMap.put("Once", "More"); ConcurrentHashMap<String, String> myFinMap = (ConcurrentHashMap<String, String>) cache.get("myMap"); System.out.println(myFinMap);
는 myFinMap는 여전히 하나의 항목이 있습니다.