2012-10-31 44 views
0

我BootStrap.groovy中無限循環BootStrap.groovy中保存數據的Grails 2.1.1

private def setupDefaultAdmin = { 

     log.info "Adding default user to system" 

     // create the super user/admin account 

     if (SentryUser.findAllByUsername("[email protected]") == null) { 
     def admin = new SentryUser(username: "[email protected]",password: 'password', 
       enabled: true).save(failOnError: true) 

     admin = new SentryUser(username: "[email protected]",password: 'password', 
       enabled: true).save(failOnError: true) 
     } 

    } 

當我這個應用程序部署到JBoss容器版本7.1我不斷收到在初始化關閉下面的代碼在部署時無限循環。我的DB的配置如下:

production { 
     dataSource { 
      dbCreate = "update" 
      url = "jdbc:h2:mem:prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000" 
      } 
     } 
+0

如果您刪除了引導程序,該怎麼辦?部署工作? –

+0

由於某些原因,發現問題jboss不喜歡grails.logging.jul.usebridge = true。我從生產設置中刪除它,錯誤消失了。我在bootstrap中註釋掉了這個方法後發現了這一點。感謝您的全力幫助 – allthenutsandbolts

+1

請注意,Grails findAll *動態查找器永遠不會返回null。他們總是返回一個可能爲空的ArrayList。因此'if(SentryUser.findAllByUsername(「[email protected]」)== null){'應該是'if(!SentryUser.findAllByUsername(「[email protected]」)){'或者更好,'if !SentryUser.countByUsername(「[email protected]」)){' –

回答

0

的問題對grails.logging.jul.usebridge =真

所以請保持記住,如果你看到任何JBOSS和古怪都啓用此設置有關在刺激中,它可能會導致問題。