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, а затем снова запускается запрос для извлечения данных. Вместо этого, когда пользователь нажимает на запрос, результат должен отображаться из кеша, а не из БД. Подскажите пожалуйста где я не прав??