Примерно неделю назад после выполнения prod dbm-update я начал получать эту ошибку при развертывании WAR-файла в EB (run-app отлично работает как в настройках dev, так и в prod):
Caused by: org.hibernate.cache.CacheException: net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following: 1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary 2. Shutdown the earlier cacheManager before creating new one with same name.
примечания к выпуску Grails 2.5.0 предлагается установить beans.cacheManager.shared к истине. Не помогло.
Другие люди, столкнувшиеся с похожими проблемами, предложили заменить factory_class Hibernate cache с org.hibernate.cache.ehcache.EhCacheRegionFactory на org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory - это сообщение. Я думаю, что это устранило проблему безымянного cacheManager, но создало еще одну:
Caused by: java.io.FileNotFoundException: class path resource [db/changelog/db.changelog-master.yaml] cannot be resolved to URL because it does not exist
Установка «liquibase.checkChangeLogLocation = false» и «liquibase.enabled = false» вызывает еще одно:
Caused by: org.grails.core.exceptions.GrailsConfigurationException: Error configuring dynamic methods for plugin [springSecurityCore:3.0.4]: null
Я использую: Grails 3.1.4 с профилем AngularJS, Spring Security 3.0.4, Spring Security Rest 2.0.0.M2, миграцию базы данных 2.0.0.RC4.
Я также пробовал:
- переход на Spring Security 3.0.2, 3.0.3
- завершение экземпляра EC2
- перестроение всей среды EB и создание новой базы данных
- установка спящего режима use_second_level_cache на false
- переход на Grails 3.1.0
- настройка sourceSets { main { resources { srcDir 'grails-app/migrations'}}}
У меня заканчиваются идеи, и пока ничего не помогло. У кого-нибудь есть идея? Или сталкивается с аналогичными проблемами?
exclude module: 'ehcache-core'
в плагинorg.hibernate:hibernate-ehcache
(показано здесь) установитеliquibase.enabled = false
. Теперь приложение не показывает никаких ошибок в журналах tomcat, а только{"message":"Not Found","error":404}
, когда я посещаю любой URL-адрес на сайте. Каким-то образом .../login/auth показывает стандартную форму входа в систему Spring Security. Все остальные пути показывают ошибку 404. Все работает в разработке. - person Vahur Hansen   schedule 14.04.2016