Grails 应用程序 - Tomcat 与 Weblogic 上的 JNDI
Posted
技术标签:
【中文标题】Grails 应用程序 - Tomcat 与 Weblogic 上的 JNDI【英文标题】:Grails app - JNDI on Tomcat Vs Weblogic 【发布时间】:2014-03-14 17:14:50 【问题描述】:我的 Grails 应用程序通常在 Tomcat 上运行。我最近让它为 Weblogic 工作。我遵循了这里的所有注释: notel reference link 而且我的应用确实可以在 Weblogic 上运行,但是......我在数据源的工作方式上遇到了问题......
在我的 DataSource.groovy 文件中有这个:
production
dataSource
dbCreate = "validate"
resourceRef="true"
jndiName = "java:/comp/env/jdbc/myGrails"
使其在 Tomcat 上运行。但它不适用于 Weblogic。
在我的 DataSource.groovy 文件中有这个:
production
dataSource
dbCreate = "validate"
resourceRef="true"
jndiName = "jdbc/myGrails"
使它可以在 Weblogic 上运行,但不能在 Tomcat 上运行。
如何配置 Datasource.groovy 中的 jndiName 以使其同时在 Weblogic 和 Tomcat 上工作?
我确实阅读了这篇文章: Tomcat vs Weblogic JNDI Lookup 但找不到适合我的解决方案。我可能不明白,因为它更适合 Spring(我不太了解),而不是专门针对 Grails。希望有人可以通过 Grails/Datasource.groovy 解决方案帮助我。
【问题讨论】:
你试过使用datasource-jndi-declare插件吗?尚未对其进行测试,但看起来这将解决差异。该插件只是确保如果数据源中提供了 JNDI 名称,那么它会省略容器前缀并在 Web 描述符中添加资源引用。试一试。我也会调查一下。这是gist of plugin's implementation。 【参考方案1】:不断搜索并找到了这个解决方案......它成功了!又好又简单。
How to specify portable jndi datsource lookup in grails
【讨论】:
以上是关于Grails 应用程序 - Tomcat 与 Weblogic 上的 JNDI的主要内容,如果未能解决你的问题,请参考以下文章
Grails项目BuildConfig.groovy Tomcat插件版本?
如何让 SpringSecurity/Grails 与终止 SSL 的负载均衡器很好地配合使用
使用 Apache/Tomcat + 虚拟主机部署多个 grails 应用程序