- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试找到一个易于遵循的解决方案(可能是这个问题的答案),用于在具有多个数据源的 grails 2.X 网络应用程序上配置 c3p0 连接池。我无法通过谷歌搜索找到任何清晰易懂的帮助。
我正在寻找的答案如下:
1)需要什么jar
2)需要修改哪些grails文件
3) 放入这些 grails 文件的示例,包括导入语句和示例代码。
假设我的应用程序中有两个数据源,dataSource 和 dataSource_A 在 DataSource.groovy 中配置。
如何在 grails 2.X 网络应用程序中为多个数据源配置 c3p0 连接池?
最佳答案
这是 corresponding documentation .本博provides a code example如何在 Grails 中延迟创建数据源...并且可以在此类代码中使用 C3P0。
由于 Grails 默认带有 DBCP,当可以委托(delegate) DataSource
和将配置汇集到底层容器,例如 Tomcat 或 JBoss。所以我推荐这样做,这里有一个例子 how to setup C3P0 for a Tomcat DataSource ,只需将其 jar 添加到 lib
目录即可。
现在,当配置多个数据源时,您应该注意有关 Grails 中缺少两阶段提交支持的部分。
如果您希望对来自两个数据源的连接完成的操作包含在单个事务中(如果成功则提交,如果失败则回滚),您将必须使用 XA 事务管理器。
在这种情况下,我建议您部署在 JBoss 和 configure DataSources and pooling in JBoss本身,JDBC 驱动程序必须安装在 JBoss 库中。
您将受益于包含的 XA 事务管理器。在 Grails 端,DataSource 配置为查询在 WEB-INF/web.xml
和 WEB-INF/jboss-web 中声明的 JNDI
文件。resource-ref
条目WAR 文件的 .xml
dataSource {
jndiName = "java:comp/env/myDataSource"
}
关于java - 如何为具有多个数据源的 grails 2.X 应用程序配置 c3p0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12532003/
我是一名优秀的程序员,十分优秀!