0
我知道Grails的JNDI查找很簡單,只要如何指定Grails中移植的JNDI查找datsource
datasource {
jndiName = "java:comp/env/myDataSource"
}
這在Tomcat的偉大工程。
在其他容器(WebLogic,JBOSS等)上,同樣的東西的jndiName只是myDataSource
。問題是如何將其配置爲通用的,並且便攜式,以便代碼不需要根據部署目標進行更改?
有趣的想法!但是沒有一個共同的簡單方法嗎? – dbrin
我使用了這個解決方案一段時間,並且它對遠程Tomcat服務器和Weblogic服務器有效。但是,我最近嘗試將我的Grails應用程序放在Glassfish服務器上,它不起作用,因爲......我相信Glassfish也使用Catalina,所以表達式確實會返回一個值。但是Glassfish需要命名才能成爲「myDatasource」,而Tomcat則需要整個「jav:comp/env /」。 – user542103
所以我這樣做......不確定是否「最好的方式」,但我測試了Glassfish,Tomcat和Weblogic,它確實適用於那些:jndiName =「$ {(System.getProperty('catalina.home')) &&(System.getProperty('java.class.path'))。trim()。toLowerCase()。indexOf('tomcat')> 0)?'java:comp/env /':''} jdbc/myGrails「 – user542103