2016-01-08 1 views
2

Je migrez un projet de Grails 3.0.11 à Grails 3.1.0.RC1 et a obtenu l'erreurGrails 3.1.0.RC1 comment obtenir sessionFactory?

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sessionFactory' is defined 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:698) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1175) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] 
... 48 common frames omitted 

Que puis-je faire? Thanx

+0

J'ai fait une erreur. Je migre un projet de Grails 2.5.3 à Grails 3.1.0.RC1. Dans un début, je migre le projet à Grails 3.0.11, mais un peu plus tard, j'ai décidé de migrer vers les grails 3.1.0.RC1 –

Répondre

2

Je ne sais pas 3.1.x, mais dans 2.4.X et 3.0.11, j'utiliser quelque chose comme ceci:

def grailsApplication = Holders.getGrailsApplication() 
def sessionFactory = grailsApplication?.mainContext?.sessionFactory 

Cela ne fonctionne pas dans les tests unitaires, mais je n » t besoin de l'usine de session alors. Cela fonctionne dans les tests de développement, de production et d'intégration.

+0

Thanx! Ça marche pour moi! Désolé, je ne peux pas marquer la réponse comme utile en raison de ma note faible .. Mais je vous remercie! –

+0

@SergeyLinnik: http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Jayan