Не мог бы какой-нибудь мудрый гуру помочь мне заставить работать плагин Cache?Мне дали этот проект, который использует:
- Grails 3.3.0
- gradle 3.0
- GORM 6.1.6. Выпуск
- Cache Plugin4.0.0
Я слежу за https://grails -plugins.github.io / grails-cache / snapshot / guide / index.html # использование , чтобы включить кэширование черезПриложение может быть запущено без ошибок, метод, аннотированный @Cacheable, похоже, не кэшируется.Вот как выглядит мой myWebApp ** build.gradle **:
:
compile group: 'org.grails.plugins', name: 'cache', version: '4.0.0'
compile group: 'org.grails.plugins', name: 'async'
:
Это мой grails-app / conf / application.yml :
---
grails:
cache:
caches:
name: 'mycache'
---
Вот так я включаю кеш в grails-app / conf / application.groovy :
:
grails.cache.enabled = true
grails.cache.clearAtStartup = true
:
Это мой myWebApp / Application.groovy :
package myWebApp
:
class Application extends GrailsAutoConfiguration {
static void main(String[] args) {
GrailsApp.run(Application, args)
}
}
Это метод в контроллере с @Cachable (grails-app / controllers / data / mycontroller.groovy ):
package data
:
import org.springframework.cache.annotation.Cacheable
:
@Transactinal
class MyController {
:
@Cacheable(value='mycache')
def getSomeId() {
return anId
}
:
}
В том жеконтроллер, я вызываю этот метод для быстрого тестирования:
:
def index() {
def id = getSomeId()
:
}
:
Проблема в том, что getSomeId (), похоже, не кешируется.Каждый раз, когда вызывался метод getSomeId (), тело выполнялось во всю длину (для проверки я установил точку останова).Я просто хочу использовать быстрый и простой механизм кэширования для простых вещей, подобных этому.Что я сделал не так?
Спасибо всем вам, ребята, кеш наконец-то работает в моем проекте.ОДНАКО, импорт для аннотации должен происходить из плагина: grails.plugin.cache.Cacheable работает, а org.springframework.annotation.Cacheable - нет.