grails默认提供的是在conf/DataSource.groovy中配置数据源,不同环境配置在environments闭包中。但对于某些项目数据源的配置不是由程序开发人员负责的,有专门的部署人员。不可能让部署人员去修改DataSource.groovy,然后再编译发布,所以必须找到一个更灵活的配置方式。
[list]
方法一:在conf/spring目录下添加一个resources.xml,配置一个dataSource数据源,覆盖DataSource.groovy中的数据源
方法二:在conf目录下添加一个datasource.properties,定义driverClass,url等属性,然后在DataSource.groovy中添加如下代码
import org.springframework.core.io.support.PropertiesLoaderUtils
import org.springframework.core.io.ClassPathResource
def properties = PropertiesLoaderUtils.loadProperties(new ClassPathResource("datasource.properties"))
dataSource {
pooled = true
driverClassName = properties.getProperty("driverClass")
username = properties.getProperty("username")
password = properties.getProperty("password")
url = properties.getProperty("url")
}
即在DataSource.groovy中自己读取datasource.properties进行配置。
其实应该也可以在Config.groovy中添加语句
grails.config.locations = [ "classpath:datasource.properties"]
然后在DataSource.groovy使用grailsApplication.config对象读取配置,但由于此时grailsApplication还没有初始化完毕,对外部的properties文件没有处理,暂时取不到datasource.properties的配置
方法三:使用JNDI数据源。
DataSource.groovy
dataSource {
jndiName="java:comp/env/jdbc/test"
pooled = true
logSql = false
}
服务器端配置,tomcat6为例
<GlobalNamingResources>
<Resource name="testDatabase" auth="Container" type="javax.sql.DataSource"
maxActive="20" maxIdle="30" maxWait="10000"
username="test" password="NdV" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.20.251:1521:test" />
</GlobalNamingResources>
...
<Context path="/test" docBase="D:\Worksapce\test" cookies="false">
<ResourceLink name="jdbc/test"
global="testDatabase"
type="javax.sql.DataSource"/>
</Context>
为了使程序可以在grails控制台即jetty服务器下运行测试。需要在web-app/WEB-INF目录下添加jetty-env.xml,配置jetty下的jndi数据源
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"
"http://jetty.mortbay.org/configure.dtd">
<Configure class="org.mortbay.jetty.webapp.WebAppContext">
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>jdbc/test</Arg>
<Arg>
<New class="org.apache.commons.dbcp.BasicDataSource">
<Set name="driverClassName">oracle.jdbc.driver.OracleDriver</Set>
<Set name="url">jdbc:oracle:thin:@192.168.20.251:1521:test</Set>
<Set name="username">test</Set>
<Set name="password">NdV</Set>
</New>
</Arg>
</New>
</Configure>
[/list]
分享到:
相关推荐
Grails3配置logback日志.pdf
Groovy和Grails配置方法 教你从0入手,一步一步深入安装和测试,包含环境和语言的下载地址
grails演示项目,配置了一对多,多对对模型配置,配置了Mysql,Sqlserver数据库
grails 配置mongodb数据库,并实现了用户登录的系统,只要将grails的环境配置好,安装上mongodb,再建立一个数据库ggtest,然后运行即可自动生成相应的集合数据。
Grails3配置单独的数据库properties.pdf
详细讲解grails开发环境配置。 详细讲解grails连接mysql数据库,crud开发
grials Install if you want to Install grails tools ,you can look at it .i would it can help you
Grails入门指南_源代码_part2 http://download.csdn.net/source/309290
Grails入门指南_源代码_part1 http://download.csdn.net/source/309290
Grails Grails Grails Grails Grails
Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南
grails-datasource-jndi-declare 将 jndi 数据源声明为 web.xml 中的资源引用元素的简单 grails 插件 ...此插件没有配置选项它将检测所有具有 jndiName 属性的数据源并将它们声明为 web.xml 中的元素
添加了对多个数据源的完全支持 Grails 2.0 插件重构 最小 Grails 依赖项 2.0.3 添加了对可选乐观锁定的支持 - 基于 MyBatis Optimist 插件( ),同时避免 Java 注释(约定优于配置) 添加了对自定义 Enum 持久性...
3.3.1 数据源和环境 3.3.2 JNDI数据源 3.3.3 自动数据库移植 3.4 外部配置 3.5 定义版本 4. 命令行 4.1 创建Gant脚本 4.2 可复用的Grails脚本 4.3 脚本中的事件 4.4 Ant和Maven 5. 对象关系映射(GORM) 5.1 快速指南 ...
3.4 数据源配置 3.4.1 支持的数据库 3.4.2 配置自定义方言(dialect) 3.5 引导grails应用程序 3.6 配置日志(logging) 3.6.1 启用sql日志 3.6.2 日志记录(logging)和环境 ...
NULL 博文链接:https://youngbrick.iteye.com/blog/2352298
eclipse插件grails(groovy)配置方法
Grails项目的应用越来越多,而对于初学者来说,在Eclipse下搭建Grails项目是一个难题,这个文档将教会你如何搭建Grails项目,希望对你有所帮助。
Grails入门指南中文pdf -- 针对grails1.0.4更新,附加idea8 开发grails的流程
grails-1.3.0.RC2 源代码