2010-09-30 58 views
2

我看到乡亲有解决此问题的各种问题,在一些岗位: 错误context.ContextLoader - 上下文初始化失败 org.springframework.beans.factory.BeanCreationException :如何调试的ContextLoader - 上下文初始化失败,BeanCreationException

有没有办法打开调试来隔离问题?

其抱怨“没有这样的特性:getOrg类:groovy.lang.MetaClassImpl”但是这不是我们的直接类之一之一,是有一些方法来获取信息这是有关我们的代码库?

在我们的例子中,我们已经部署了一个Grails 1.2.1应用程序,并且在Tomcat中运行得很好。然后,我们停止Tomcat进行数据库备份,然后重新启动应用程序。没有环境变化(即没有配置文件更改等)的相同WAR现在引发此错误。我们以前也间歇性地观察过这种行为,但是重新开始用于修复概率。

在我们的开发环境中,同样的app运行得很好,使用“grails prod run-app”以及“grails prod run-war”。

堆栈跟踪片断:

2010-09-30 12:10:13,391 ERROR context.ContextLoader - 上下文 初始化失败 org.springframework.beans.factory.BeanCreationException: 错误创建与豆名称 'messageSource':初始化 bean失败;嵌套的例外是 org.springframework.beans.factory.BeanCreationException:与名 'transactionManager的' 错误创建豆:无法解析 参考豆 'SessionFactory的' 而设置的bean属性 'SessionFactory的';嵌套异常是 org.springframework.beans.factory.BeanCreationException: 创建名为 'sessionFactory'的bean时出错:调用init 方法失败;嵌套的例外是 groovy.lang.MissingPropertyException: 没有这样的属性:getOrg类: groovy.lang.MetaClassImpl 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 在组织.codehaus.groovy.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) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(De faultSingletonBeanRegistry。Java的:222)

< < < < < < < <剪断>>>>>>>>>>>>>>>>>>>>>>

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

如果您将日志记录级别设置为DEBUGorg.springframeworkorg.codehaus.groovy然后您将能够获得更多详细信息。

但是在grails的情况下,有时它只会阻止tomcat,删除worktemp目录并再次启动tomcat。

1

我已经在grails 1.3.4中获得了这个,并且删除了tomcat工作目录和临时目录($ CATALINA_BASE/temp,$ CATALINA_BASE/work)确实似乎解决了这个问题。

+1

感谢uthark和Dan,清理tomcat temp和work目录确实解决了这个问题。任何想法为什么?这听起来像是一个Tomcat bug – Sunny 2010-10-03 22:54:12

相关问题