标签:c3p0 grails connection-pooling java
我试图找到一个易于遵循的解决方案(可能是该问题的答案),用于在具有多个数据源的grails 2.X Web应用程序上配置c3p0连接池.我还无法通过Google搜索找到任何清晰易懂的帮助.
我正在寻找的答案将说以下内容:
1)需要什么罐子
2)哪些grails文件需要修改
3)在这些grails文件中放置内容的示例,包括import语句和示例代码.
假设我的应用程序中有两个数据源,即DataSource和dataSource_A,在DataSource.groovy中配置.
如何在grails 2.X Web应用程序中为多个数据源配置c3p0连接池?
解决方法:
这是corresponding documentation.此博客provides a code example如何延迟在Grails中创建数据源…并且可以在这样的代码中使用C3P0.
由于Grails默认随附于DBCP,因此我有可能将数据源和池配置委托给基础容器(例如Tomcat)时发现与添加代码无关以设置C3P0池(并随后替换默认的事务管理器…).或JBoss.因此,我建议您使用这种方式,这里是一个示例how to setup C3P0 for a Tomcat DataSource,只需将其jar添加到lib目录中即可.
现在,在配置多个数据源时,您应该注意有关Grails中缺少两阶段提交支持的部分.
如果您希望对来自两个DataSource的连接所做的操作包含在单个事务中(如果成功则提交,如果失败则回滚),则必须使用XA事务管理器.
在这种情况下,建议您在JBoss和configure DataSources and pooling in JBoss本身中进行部署,JDBC驱动程序必须安装在JBoss库中.
您将获得附带的XA事务管理器的好处.在Grails端,将数据源配置为查询WAR文件的WEB-INF / web.xml和WEB-INF / jboss-web.xml文件中声明的JNDI资源引用条目.
dataSource {
jndiName = "java:comp/env/myDataSource"
}
标签:c3p0,grails,connection-pooling,java 来源: https://codeday.me/bug/20191031/1978961.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。