问题
I know JNDI lookup in grails is as simple as
datasource {
jndiName = "java:comp/env/myDataSource"
}
this works great on Tomcat.
On other containers (WebLogic, JBOSS, etc.) the jndiName for the same thing would be just myDataSource
. The question is how do I configure this to be generic and portable so that the code does not need to be changed based on the deploy target?
回答1:
You might be able to key off a system property that you know will be set when running in Tomcat and not set anywhere else, e.g.
datasource {
jndiName = "${System.getProperty('catalina.home') ? 'java:comp/env/' : ''}myDataSource"
}
来源:https://stackoverflow.com/questions/13423067/how-to-specify-portable-jndi-datsource-lookup-in-grails