У меня есть веб-приложение Hibernate + Ehcache + Spring MVC, который устанавливается в довольно стандартным способом:Как использовать/не использовать кеш для каждого запроса?
Controller -> Класс обслуживания -> класс DAO -> DB
приложение является REST API и откликнется для HTTP GET запросов с XML. Все работает так, как ожидалось. БД ударяется только тогда, когда это необходимо, иначе результаты исходят от Ehcache.
Я хотел бы использовать/не использовать кеш для каждого запроса. Я хотел бы, чтобы поведение по умолчанию, конечно, состояло в использовании кеша, но когда передавался параметр «nocache = 1», кеш не должен использоваться, и вместо этого следует читать БД.
Я начал с добавления параметра «useCache» к моим методам класса обслуживания, а затем к классам DAO, но это не понравилось. Есть ли лучший/лучший способ сделать это? Может быть, с сервлет-фильтром?
+1, как вы настраиваете кеш? Hibernate? '@ Cacheable'? –
Я аннотировал классы POJO с помощью @Cache (use = ...). Также я указываю имена кешей в файле ehcache.xml. ' – Thomas