2017-10-13 2 views
0

J'utilise Grails 2.3.3 pour une application qui a été compilée avec succès.Erreur GrailsContextLoader avec Gestionnaire de transactions

J'intègre désormais la sécurité de printemps dans l'application en ajoutant la ligne dans les plug-ins:

compile ":spring-security-core:2.0-RC5" 

En conséquence, je reçois cette erreur de GrailsContextLoader relative à transactionManager et sessionfactory - Voici l'erreur:

Error | 2017-10-13 12:46:09,299 [localhost-startStop-1] ERROR context.GrailsContextLoader - Error initializing the application: 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 org.hibernate.MappingException: Association references unmapped class: homevu1.PicturesNWShr 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 org.hibernate.MappingException: Association references unmapped class: homevu1.PicturesNWShr

ImagesNWShr est l'un de mes domaines et il n'y a aucun problème à le compiler si le plug-in Spring-Security est retiré.

J'ai scanné un des articles liés bien que je n'ai pas encore trouvé un avec un problème identique. Mais un certain nombre suggère d'apporter des modifications au fichier de dépendance dans le dossier racine du projet afin d'imposer ou d'exclure des dépendances de la construction.

Souhaitez-vous des suggestions?

Voici la définition de domaine de PicturesNWShr:

package homevu1 

import java.util.Date; 

class PicturesNWShr { 

    static constraints = { 
     name() 
     filename(blank: true, nullable: true) 
     dateCreated() 
     caption(blank: true, nullable: true) 
     slotType(blank: true, nullable: true) 
     groupName(blank: true, nullable: true) 
    } 

    static mapping = { 
     datasource 'publish' 
    } 

    String name 
    String filename 
    String caption 
    Date dateCreated 
    VideoSlotTypeShr slotType 
    String groupName // link pictures together for multifile upload 
    // ideal for linking al images of a house together for EAs. 
    Date updateDate // The multiple file upload process - checks each instance update is complete 
    // before adding to vidSlot. 
    static belongsTo = [userBT: UserShr] 


    String toString() { 
     "${name}" 
    } 
} 

-Mike

+0

nous montrent la classe en question – injecteer

+0

@injecteer ont ajouté le fichier de domaine pour PicturesNWShr. – mikek

+0

Utilisez la version 2.0.0 finale du plugin 'org.grails.plugins: spring-security-core: 2.0.0' – saw303

Répondre

0

Après avoir fouillé plus loin dans l'archive post Stackoverflow concernant cette erreur de cartographie - j'ai déterminé ce que l'erreur est. Il s'agit d'avoir deux sources de données distinctes pour mes domaines et quand j'exporte UserShr qui est une clé étrangère de PicturesNWShr, il ne peut pas mapper cela comme SecUser, SecRole & SecUserSecRole sont dans différentes sources de données. Cela dit, je ne suis pas sûr de savoir comment résoudre ce problème pour l'instant car je dois maintenant annuler ce que s2-quickstart a fait pour mon application et m'assurer que SecUser, SecRser & SecUserRole sont placés dans la source de données 'publish' comme référencé dans la définition de classe de domaine ci-dessus.

Il faudra explorer davantage Stackoverflow.

-Mike