Grails:如何在resources.groovy文件中使用JNDI数据源。

时间:2017-09-01 14:53:11

标签: spring grails groovy jndi

我在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

请帮忙。提前致谢。

1 个答案:

答案 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>

希望有所帮助!