cacheput-annotation-not-update-cache-hazelcast-cache при весенней загрузке - PullRequest
0 голосов
/ 16 января 2019

После вызова метода updatePerson, когда я вызываю метод getpersons, записи не обновляются, plz help, чего не хватает ...

 // getting all person in this way
 @Cacheable(cacheNames="person")
public List<person> getpersons(){
    System.out.println("In getpersons Component..");
    try{
        persons = personRepo.findAll();
    }catch(Exception e){
        e.printStackTrace();
    }
    return persons;
}

 //want to update single record in this way, db is updating successfully but //not cache
@CachePut(key="#personNum")
        public Person updatePerson(Person person,String personNum){
    System.out.println("In updatePerson Component..");
    Person person1= personRepo.save(person);
    System.out.println(person1);
    return person1;
}

Пожалуйста, помогите с этой проблемой, Кэш должен быть обновлен как ожидалось.

1 Ответ

0 голосов
/ 16 января 2019

Вы обновляете запись с помощью ключа personNum, а в методе get, который вы запрашиваете, с нулевым ключом, опять же, с помощью get. Вот почему вы не можете увидеть обновление. Spring не позволяет читать весь кеш через аннотацию @Cacheable. Вам нужен прямой доступ к кешу или через модуль spring-hazelcast-data.

...