我在resources.groovy文件中定义了Spring JDBC模板,如下所示:
jdbcTemplate(org.springframework.jdbc.core.JdbcTemplate) {
dataSource = ? // Here I need get the datasource from JNDI
}
我需要从JNDI获取数据源并将其注入spring模板的datasource属性。
PS:Grails版本:2.4.4
请帮忙。提前致谢。
答案 0 :(得分:1)
您是否有理由需要使用jdbcTemplate?如果在DataSource.groovy中设置dataSource,则可以在那里使用JNDI。例如:
dateOnly
您可能还需要在src / templates / war / web.xml中添加resource-ref:
environments {
development {
dataSource {
dbCreate = false // one of 'create', 'create-drop','update'
dialect = org.hibernate.dialect...
jndiName = "java:comp/env/jdbc/YourDataSource"
}
在定义了dataSource的情况下,resources.groovy中的jdbcTemplate可能应该自动连接它,或者如果它没有,那就成功:
<resource-ref>
<res-ref-name>jdbc/YourDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
希望有所帮助!