Как отладить ContextLoader - Сбой инициализации контекста и BeanCreationException

Я вижу ряд сообщений о различных проблемах, возникающих у людей с устранением этой проблемы:ERROR context.ContextLoader - Ошибка инициализации контекста org.springframework.beans.factory.BeanCreationException:

Есть ли способ включить отладку, чтобы изолировать проблему?

Он жаловался на "Нет такого свойства: getOrg для класса: groovy.lang.MetaClassImpl", но это не один из наших классов, есть ли способ получить информацию, которая имеет отношение к нашей базе кода?

В нашем случае приложение Tomils 1.2.1 было развернуто и отлично работает в Tomcat. Затем мы остановили Tomcat, чтобы сделать резервную копию БД, а затем перезапустили приложение. Та же самая WAR без изменений среды (т.е. без изменений файла конфигурации и т. Д.) Теперь выдает эту ошибку. Мы также периодически наблюдали это поведение, но перезапуск использовался для исправления проблемы.

В нашей среде разработки то же приложение прекрасно работает как с "grails prod run-app", так и с "grails prod run-war".

Фрагменты стека трассировки:

2010-09-30 12: 10: 13,391 ОШИБКА context.ContextLoader - Ошибка инициализации контекста org.springframework.beans.factory.BeanCreationException: Ошибка при создании компонента с именем 'messageSource': Ошибка инициализации компонента; вложенное исключение: org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем'actionManager': невозможно разрешить ссылку на компонент'sessionFactory'при установке свойства компонента'sessionFactory'; вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'sessionFactory': сбой вызова метода init; Вложенное исключение - groovy.lang.MissingPropertyException: такого свойства нет: getOrg для класса: groovy.lang.MetaClassImpl в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean.ap.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory.doCreateBean(ReloadAwareAutowireCapableBeanFactory.java:129) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450) в org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290) в org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:222)

<<<<<<<< snip >>>>>>>>>>>>>>>>>>>>>>

Caused by: groovy.lang.MissingPropertyException: No such property: getOrg for class: groovy.lang.MetaClassImpl
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:49)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.setProperty(ScriptBytecodeAdapter.java:485)
        at org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport.handleLazyProxy(HibernatePluginSupport.groovy:413)
        at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.bindProperty(GrailsDomainBinder.java:2108)
        at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.createProperty(GrailsDomainBinder.java:1829)
        at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.createClassProperties(GrailsDomainBinder.java:1565)
        at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.bindJoinedSubClass(GrailsDomainBinder.java:1272)
        at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.bindSubClass(GrailsDomainBinder.java:1219)
        at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.bindSubClasses(GrailsDomainBinder.java:1186)
        at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.bindRoot(GrailsDomainBinder.java:1160)
        at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.bindClass(GrailsDomainBinder.java:1040)
        at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsAnnotationConfiguration.secondPassCompile(GrailsAnnotationConfiguration.java:145)
        at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148)
        at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:717)
        at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1398)

2 ответа

Решение

Если вы установите уровень ведения журнала на DEBUG для пакетов org.springframework а также org.codehaus.groovy тогда вы сможете получить более подробную информацию.

Но в случае с Граалем иногда помогает просто остановить кота, убрать work а также temp каталоги и снова запустить tomcat.

Я получил это в Grails 1.3.4, и удаление папок tomcat work и temp ($CATALINA_BASE/temp, $CATALINA_BASE/work), похоже, решает проблему.

Другие вопросы по тегам