2009-06-18 2 views
0

J'ai une application Web Grails 1.1 qui fonctionne très bien en développement, mais quand je l'essaie et l'exécute en production avec une base de données sqlserver il se bloque de façon étrange.Problème avec l'application Web Grails en cours de production: "Aucune propriété: enregistrer pour la classe: JsecRole"

La partie pertinente de mon datasource.groovy est la suivante:

environments { 
    development { 
     dataSource { 
      dbCreate = "create-drop" // one of 'create', 'create-drop','update' 
      url = "jdbc:hsqldb:mem:devDB" 
     } 
    } 
    test { 
     dataSource { 
      dbCreate = "update" 
      url = "jdbc:hsqldb:mem:testDb" 
     } 
    } 
    production { 

     dataSource { 
      dbCreate = "update" 
      driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver" 
      endUsername = "sa" 
      password = "pw4db" 
      url = "jdbc:sqlserver://localhost:1433;databaseName=ReleasePlanner;selectMethod=cursor"  

Le message d'erreur que je reçois est:

Message: No such property: save for class: JsecRole 
Caused by: groovy.lang.MissingPropertyException: No such property: save for class: JsecRole 
Class: ProjectController 
At Line: [28] 
Code Snippet: 
27: println "###about to create project roles" 
28: userManagerService.createProjectRoles(project) 
29: userManagerService.addUserToProject(session.user.id.toString(), project, 'owner')  
     } 
    } 
} 

Le stacktrace est la suivante:

org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingPropertyException: No such property: save for class: JsecRole 

    at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:382) 

    at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180) 

Caused by: groovy.lang.MissingPropertyException: No such property: save for class: JsecRole 

    at UserManagerService.createProjectRoles(UserManagerService.groovy:9) 

    at UserManagerService$$FastClassByCGLIB$$6fa73713.invoke(<generated>) 

    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) 

    at UserManagerService$$EnhancerByCGLIB$$fcf60984.createProjectRoles(<generated>) 

    at UserManagerService$createProjectRoles.call(Unknown Source) 

    at ProjectController$_closure4.doCall(ProjectController.groovy:28) 

    at ProjectController$_closure4.doCall(ProjectController.groovy) 

    ... 2 more 

Toute aide est appréciée.

Merci Sarah

Répondre

0

Je fixe mon problème en supprimant ma base de données et la création d'une nouvelle base de données. Je pense que certains champs de ma base de données n'étaient pas mappés correctement lorsque j'ai modifié mes objets de domaine. L'erreur ne m'a pas vraiment pointé dans cette direction!

Sarah

0

Ce problème est discuté in this thread sur la liste de diffusion Grails. Il est supposé être corrigé dans Grails 1.2. Une solution de contournement pour les versions antérieures de Grails est d'ajouter ce qui suit à Bootstrap.groovy

JsecRole.get(-1) 
Questions connexes