Ошибка при выполнении начальной загрузки после обновления с Grails 1.3.7 до 2.0 - PullRequest
1 голос
/ 07 февраля 2012

После обновления приложения grails с 1.3.7 до 2.0 создается исключение java NullPointerException (полная ошибка приведена ниже).

Я использую Debian Squeeze и Java-версию OpenJDK "1.6.0_18", хотя пробовал и с предварительно упакованным Debian Sun-JDK.

Я попытался удалить все плагины, но безуспешно; Режим отладки также не дает мне подсказки. Я также проверил свой источник данных в среде разработки:

dataSource {
    pooled = true
    driverClassName = "com.mysql.jdbc.Driver"
    dialect = org.hibernate.dialect.MySQLInnoDBDialect
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = true
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
    development {
        dataSource {

        dbCreate = "create-drop" // one of 'create', 'create-drop','update'
    //url = "jdbc:hsqldb:mem:devDB"  //hsql
        url = "jdbc:mysql://server.domain/database" //mysql
        username = "user"
        password = "password"

    }
}

Не повезло вообще .. есть идеи? Я проверил похожие сообщения, но не могу найти те же проблемы здесь ...

Заранее спасибо

Error 2012-02-07 13:24:15,024 [Thread-11] ERROR context.GrailsContextLoader  - Error         executing bootstraps: Error creating bean with name 'transactionManagerPostProcessor':     Initialization of bean failed; nested exception is     org.springframework.beans.factory.BeanCreationException: Error creating bean with name     'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean     property 'sessionFactory'; nested exception is     org.springframework.beans.factory.BeanCreationException: Error creating bean with name     'sessionFactory': Invocation of init method failed; nested exception is     java.lang.NullPointerException
Message: Error creating bean with name 'transactionManagerPostProcessor': Initialization     of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException:     Error creating bean with name 'transactionManager': Cannot resolve reference to bean     'sessionFactory' while setting bean property 'sessionFactory'; nested exception is     org.springframework.beans.factory.BeanCreationException: Error creating bean with name     'sessionFactory': Invocation of init method failed; nested exception is     java.lang.NullPointerException
    Line | Method
->>  334 | innerRun  in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    166 | run       in java.util.concurrent.FutureTask
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    636 | run . . . in java.lang.Thread

Caused by BeanCreationException: Error creating bean with name 'transactionManager':     Cannot resolve reference to bean 'sessionFactory' while setting bean property     'sessionFactory'; nested exception is     org.springframework.beans.factory.BeanCreationException: Error creating bean with name     'sessionFactory': Invocation of init method failed; nested exception is     java.lang.NullPointerException
->>  334 | innerRun  in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    166 | run       in java.util.concurrent.FutureTask
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    636 | run . . . in java.lang.Thread

Caused by BeanCreationException: Error creating bean with name 'sessionFactory':     Invocation of init method failed; nested exception is java.lang.NullPointerException
->>  334 | innerRun  in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    166 | run       in java.util.concurrent.FutureTask
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    636 | run . . . in java.lang.Thread

Caused by NullPointerException: null
->>  334 | innerRun  in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    166 | run       in java.util.concurrent.FutureTask
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    636 | run . . . in java.lang.Thread

Ответы [ 3 ]

2 голосов
/ 23 июля 2012

Только для того, чтобы закрыть эту проблему, она была связана с ugprade spring-security-plugin от acegi-plugin. Я использовал стандартные классы и свойства Spring-security-plugin, и все было в порядке.

0 голосов
/ 26 сентября 2012

Я получил похожие ошибки, имея ключевое слово Java protected в доменном классе .groovy. Я только что удалил ключевое слово protected, и оно работало нормально. Я полагаю, если бы я переименовал файл в .java, он бы тоже работал нормально.

0 голосов
/ 12 марта 2012

Проверьте свой BuildConfig.groovy убедитесь, что включена соответствующая библиотека JDBC, например, в следующей строке:

зависимости { время выполнения 'mysql: mysql-connector-java: 5.1.16' }

Или, если вы предпочитаете добавлять библиотеку, не зависящую от механизма загрузки библиотеки Grails, просто поместите jar в папку / lib вашего проекта

...