Я работаю с GGTS и использую Hibernate в качестве дБ, и я обновляюсь от Grails 2.3.3 до 2.5.1. Я получаю эту ошибку при запуске run-app on проект. Я прочитал несколько сообщений о подобных проблемах transactionManager, но ни один из них не соответствует моей ситуации достаточно близко. Вот начальная часть сообщения об ошибке, связанной с transactionManagerPostProcessor:Ошибка обновления grail - создание bean-компонента с именем «transactionManagerPostProcessor»
context.GrailsContextLoaderListener Ошибка инициализации приложения: Ошибка создания боб с именем «transactionManagerPostProcessor»: Инициализация боба не удалось; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем «transactionManager»: не удается разрешить ссылку на bean '$ primaryTransactionManager' при установке аргумента конструктора с ключом [0]; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка создания bean-компонента с именем $ primaryTransactionManager: не может разрешить ссылку на bean-файл sessionFactory при настройке bean-свойства sessionFactory; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем sessionFactory: вызов метода init не удался; Вложенное исключение - org.hibernate.HibernateException: невозможно создать экземпляр RegionFactory [org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory] org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем «transactionManagerPostProcessor»: Инициализация компонента не выполнена; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем «transactionManager»: не удается разрешить ссылку на bean '$ primaryTransactionManager' при установке аргумента конструктора с ключом [0]; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка создания bean-компонента с именем $ primaryTransactionManager: не может разрешить ссылку на bean-файл sessionFactory при настройке bean-свойства sessionFactory; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем sessionFactory: вызов метода init не удался; вложенное исключение org.hibernate.HibernateException: не удалось создать экземпляр RegionFactory [org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory]
Поскольку все признаки эта проблема относится к настройке баз данных здесь является DataSource.groovy:
`
System.out.println ("DataSource.groovy: Hello World ....")
dataSource {
pooled = true
driverClassName = "org.h2.Driver"
username = "sa"
password = "S2xxxxxxxx"
}
dataSource_publish {
pooled = true
driverClassName = "org.h2.Driver"
username = "sa"
password = "M1xxxxxxxxxxxx"
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = false
//cache.region.factory_class = 'grails.plugin.cache.ehcache.hibernate.BeanEhcacheRegionFactory' // For Hibernate before 4.0 and higher
//cache.region.factory_class = 'grails.plugin.cache.ehcache.hibernate.BeanEhcacheRegionFactory' // For Hibernate before 4.0 and higher
//cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' //old vers of hibernate
cache.region.factory_class = 'org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory' // Hibernate 4
}
// environment specific settings
environments {
development {
// The main HomeVu dB
dataSource {
logSql = false
pooled = true
dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
url = "jdbc:h2:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
// The SHR shared dB
dataSource_publish {
//logSql = false
//pooled = true
dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
//url = "jdbc:h2:pubDb;MVCC=TRUE;LOCK_TIMEOUT=10000;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE"
//url = "jdbc:h2:pb1Db;MVCC=TRUE;LOCK_TIMEOUT10000; AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE"
url = "jdbc:h2:pub009Db;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:h2:prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
pooled = true
properties {
maxActive = -1
minEvictableIdleTimeMillis=1800000
timeBetweenEvictionRunsMillis=1800000
numTestsPerEvictionRun=3
testOnBorrow=true
testWhileIdle=true
testOnReturn=true
validationQuery="SELECT 1"
}
}
}
} `
Я использовал рекомендованные версии плагинов, которые изложены в примечаниях к выпуску - вот мой BuildConfig.groovy:
System.out.println("BuildConfig.groovy: Hello World....?")
grails.servlet.version = "2.5" // Change depending on target container compliance (2.5 or 3.0)
grails.project.work.dir = 'target'
grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
grails.project.target.level = 1.6
grails.project.source.level = 1.6
//grails.project.war.file = "target/${appName}-${appVersion}.war"
grails.server.port.http=9000
grails.project.dependency.resolver = "maven" // MAK 12-05-16 put in to link in spring-security-core plugin
grails.project.dependency.resolution = {
// inherit Grails' default dependencies
inherits("global") {
// specify dependency exclusions here; for example, uncomment this to disable ehcache:
// excludes 'ehcache'
}
log 'debug' // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
checksums true // Whether to verify checksums on resolve
repositories {
inherits true // Whether to inherit repository definitions from plugins
grailsPlugins()
grailsHome()
grailsCentral()
mavenLocal()
mavenCentral()
// uncomment these (or add new ones) to enable remote dependency resolution from public Maven repositories
mavenRepo "http://mvnrepository.com/artifact/"
mavenRepo "http://repo.spring.io/milestone/"
grailsRepo "http://grails.org/plugin"
}
dependencies {
// specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
}
plugins {
// Requested in grail version 2.5.1 ...
build(":release:3.1.1",
":rest-client-builder:2.1.1") {
export = false
}
compile ":hibernate:3.6.10.19"
runtime ":jquery:1.11.0.2"
build ":tomcat:7.0.55.3"
runtime ":database-migration:1.4.0"
compile ':cache:1.1.8'
compile ':asset-pipeline:2.1.5'
compile ":scaffolding:2.1.2"
}
}
Возможно прыжки версии Grails таким образом, а затем постепенно модернизировать средства что я оставил некоторые устаревшие настройки, которые необходимо изменить? I приветствовал бы любые предложения?
-Mike