2017-12-29 36 views
0

나는 또한 인터페이스 com.hazelcast.core.MapLoader에서 다른 방법을 구현하고 Hazelcast 쿼리 캐시를Hazelcast mapLoad 캐시

MyEntityMapLoader implements ApplicationContextAware, MapLoader<MyEntityMapLoader.CompositeKey, List<BigInteger>> { 
    @Inject 
    HazelcastInstance hazelcastInstance; 
    @Inject 
    MyEntityRepository myRepo; 
    @PostConstruct 
    public void initialize() { 
    //initialize map 
    } 
@Override 
    @Transactional 
    public Map<CompositeKey, List<BigInteger>> loadAll(Collection<CompositeKey> keys) { 
     return buildMap(getAll()); 
    } 

을 구현하기 위해 노력하고 업데이트하지 않습니다> I가 CrudRepository을 사용하고

MyEntity에서 CRUD 작업을 수행합니다. 응용 프로그램 시작시 캐시가로드되고 최신 데이터가 표시됩니다. CrudRepo를 사용하여 추가/삭제할 때 Hazelcast가 알지 못하는 것 같은 문제가 발생합니다. 나는 여전히 오래된 데이터를 본다.

답변

0

사용자가 MapLoader을 사용하면 메모리에 항목을 가져 오지만 변경시 다시 보내지 않습니다.

MapStore으로 바꾸면 필요에 따라 항목을 메모리에 저장하고 변경시 다시 보낼 수 있습니다.

MapLoaderload(K)을 제공합니다. MapStore extend MapLoaderstore(K,V)delete(K)