2017-09-01 83 views
-1

我已經定義在resources.groovy文件春天JDBC模板下面給出:Grails:如何在resources.groovy文件中使用JNDI數據源。

jdbcTemplate(org.springframework.jdbc.core.JdbcTemplate) { 
    dataSource = ? // Here I need get the datasource from JNDI 
} 

我需要從JNDI數據源,並注入它的數據源春模板的屬性。

PS:Grails版本:2.4.4

請幫忙。提前致謝。

回答

1

是否有原因需要使用jdbcTemplate?如果你在DataSource.groovy中設置你的dataSource,你可以在那裏使用JNDI。例如:

environments { 

development { 
    dataSource { 
     dbCreate = false // one of 'create', 'create-drop','update' 
     dialect = org.hibernate.dialect... 
     jndiName = "java:comp/env/jdbc/YourDataSource" 
    } 

你也可能需要添加一個資源引用在你的src /模板/戰爭/ web.xml文件:

<resource-ref> 
    <res-ref-name>jdbc/YourDataSource</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
</resource-ref> 

有了定義,JdbcTemplate的在resources.groovy的數據源應該自動連線它,或者如果它沒有,使它:

jdbcTemplate(org.springframework.jdbc.core.JdbcTemplate) { 
    dataSource = ref('dataSource') 
} 

希望幫助!

相關問題