Spring кеш не возвращает результат из кеша

Я прочитал все старые вопросы в стеке, которые похожи на это, но все еще не могу найти решение. Я пытаюсь использовать @Cacheable с весны 4.x, но я не получаю результат из кэша:- Мой код:

Application.java

@SpringBootApplication
@EnableCaching
public class BootApplication {

    public static void main(String[] args) {
        SpringApplication.run(BootApplication.class, args);
    }
}

контроллер:

@RestController
@RequestMapping("/test")
public class BootController {
    @Autowired
    public BootService oBootService;

    @RequestMapping("/list{listing_id}")
    public ResponseObj getprodList(@RequestParam("listing_id") Long listing_id){
        ResponseObj responseObj=new ResponseObj();
        List<BootModel> list =this.oBootService.getprodList(listing_id);
        responseObj.setObject(list);
        if(list.size()>0){
            responseObj.setMessage("success");
            responseObj.setStatus("200");
            responseObj.setStatus_code(200);
        }else{
            responseObj.setMessage("success");
            responseObj.setStatus("204");
            responseObj.setStatus_code(204);
        }
        return responseObj;
    }

Класс обслуживания:

@Service
public class BootService {
    @Inject
    BootRepo oBootRepo;
    @Cacheable(value="prod",key="#listing_id",condition = "#listing_id < 3")
    public List<BootModel> getprodList(Long listing_id)
    {
            List <BootModel> list = oBootRepo.getProdList(listing_id);
            return list;
    }

когда я пытался нажать url: localhost:8080/prod/test/list? перечисление_id=10, получается правильный результат, но когда я снова нажимаю на URL, а затем снова запускается запрос для извлечения данных. Вместо этого, когда пользователь нажимает на запрос, результат должен отображаться из кеша, а не из БД. Подскажите пожалуйста где я не прав??

0 ответов

Другие вопросы по тегам