我與遷移從Grails的2至3的GrailsGrails的3 JNDI數據源爲Tomcat,Weblogic的,Glassfish的 - Vs的Grails的2
在Grails的2實驗,我DataSource.groovy的文件中使用這個作爲我的JNDI名稱,生產環境
jndiName = "${(System.getProperty('catalina.home') && (System.getProperty('java.class.path')).trim().toLowerCase().indexOf('tomcat') > 0) ? 'java:comp/env/' : ''}jdbc/myGrails"
我發現這對GlassFish,Weblogic和Tomcat的工作很好。
然而,當我嘗試這個Grails中3,application.yml內:
jndiName: ${(System.getProperty('catalina.home') && (System.getProperty('java.class.path')).trim().toLowerCase().indexOf('tomcat') > 0) ? 'java:comp/env/' : ''}jdbc/myGrails
我跑 「的Grails運行的應用程序」 時,出現此錯誤:
| Error Error occurred running Grails CLI: mapping values are not allowed here
in 'reader', line 123, column 169:
... mcat') > 0) ? 'java:comp/env/' : ''}jdbc/traxGrails
^
(Use --stacktrace to see the full trace)
如果我這樣做Grails中3使用:
jndiName: java:/comp/env/jdbc/myGrails
然後,它使用時的Grails運行的應用程序,也能正常工作部署WAR到Tomcat工作正常。
有人可以幫助我從Grails 2中獲取「jndi表達式」以在Grails 3中工作嗎?