gpt4 book ai didi

java - 如何为具有多个数据源的 grails 2.X 应用程序配置 c3p0?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:57 25 4
gpt4 key购买 nike

我正在尝试找到一个易于遵循的解决方案(可能是这个问题的答案),用于在具有多个数据源的 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.xmlWEB-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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com