我与迁移从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中工作吗?