Я хочу, чтобы EHCache был в производстве, но не в разработке, поскольку я стараюсь возиться с записями базы данных в разработке.Каков наилучший способ отключить ehcache в JHipster
Единственная вещь, с которой я столкнулся после поиска, - это возможность JVM полностью отключить кеш -Dnet.sf.ehcache.disabled=true
, но почему-то это не идеальное решение.
Лучше всего было бы иметь опцию в application-dev.yml. Я применил timeToLiveSeconds и сохранил его (1), но он, похоже, не имел никакого эффекта.
Я пытался добавить API в моем REST службы, как это, но это, похоже, не имеют никакого эффекта либо:
/**
* GET /clearCache -> Clear Cache
*/
@RequestMapping(value = "/clearCache",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public ResponseEntity<String> clearCache() {
CacheManager.getInstance().clearAll();
return new ResponseEntity<String>(HttpStatus.OK);
}
Кроме того, следствие к этому же вопросу, я ставлю отладки точки останова в CacheConfiguration.java здесь, но он никогда не попадает.
@PreDestroy
public void destroy() {
Любая помощь очень ценится!
Вот мой полный лог при запуске с быстрой загрузкой:
[INFO] mypackage.Application - Starting Application on Lenovo-PC with PID 7408 (D:\projects\app\target\classes started by lenovo in D:\projects\app)
[DEBUG] mypackage.Application - Running with Spring Boot v1.2.4.RELEASE, Spring v4.1.6.RELEASE
[DEBUG] org.jboss.logging - Logging Provider: org.jboss.logging.Slf4jLoggerProvider
[DEBUG] mypackage.config.DatabaseConfiguration - Configuring Datasource
[WARN] org.hibernate.cache.ehcache.AbstractEhcacheRegionFactory - HHH020003: Could not find a specific ehcache configuration for cache named [mypackage.Org]; using defaults.
[WARN] org.hibernate.cache.ehcache.AbstractEhcacheRegionFactory - HHH020003: Could not find a specific ehcache configuration for cache named [mypackage.Workflow]; using defaults.
[WARN] org.hibernate.cache.ehcache.AbstractEhcacheRegionFactory - HHH020003: Could not find a specific ehcache configuration for cache named [mypackage.Department]; using defaults.
...
...
...
[DEBUG] mypackage.config.MailConfiguration - Configuring mail server
[INFO] mypackage.Application - Running with Spring profile(s) : [dev, fast]
Я использовал '--spring.profiles.active = dev, fast' все время, но я думаю, что кеширование не было отключено, пока я не установил флаг среды' -Dnet.sf.ehcache.disabled = true'. Я что-то упускаю? – user1880957
Я пробовал '--spring.profiles.active = dev, fast', и я не получил регистрацию« Starting Ehcache »из CacheConfiguration. Вы уверены, что вы передали опцию профилей в программных аргументах, а не в JVM args? Вы пробовали использовать 'mvn -pfast spring-boot: run'? –
Я отредактировал мой оригинальный вопрос и добавил мой журнал с быстрой загрузкой. Вы можете видеть, что, хотя «Запуск Ehcache» не существует, Ehcache все еще дает это предупреждение, и я действительно думаю, что он работает. Когда я добавляю конкретную JVM arg '-Dnet.sf.ehcache.disabled = true', эта часть журнала упоминает, что она подавляется. – user1880957