关于java通过proxool连接数据库多数据源的问题
来源:互联网 发布:cctv5高清无插件软件 编辑:程序博客网 时间:2024/06/05 19:03
公司一直是处理大数据这个方面,对数据库操作频繁在所难免,关于数据库连接方式换了很多,各有优缺点,具体就不在这解释了。
之前一直在用C3P0创建数据源,但C3P0占用资源不能及时的释放,导致数据库连接数经常抛出警告信息(被锁死),虽然不影响运行,但这样下去也不是办法,所以决定换个数据源方式,通过proxool创建数据源。
其他配置不许改变,只是需要改下配置数据源信息即可
<span style="font-size:18px;"><bean id="XXX" class="org.logicalcobwebs.proxool.ProxoolDataSource"><span style="color:#ff0000;"><!-- <property name="alias" value="XXX"></property> --></span><property name="driver" value="oracle.jdbc.driver.OracleDriver"></property><property name="driverUrl" value="jdbc:oracle:thin:@IP:1521:ORCL"></property><property name="user" value="XXX"></property><property name="password" value="XXX"></property><!-- <property name="houseKeepingSleepTime" value="90000"></property> --><property name="prototypeCount" value="5"></property><property name="maximumConnectionCount" value="100"></property><property name="minimumConnectionCount" value="10"></property><property name="trace" value="true"></property><property name="verbose" value="true"></property></bean></span>引用的JAR:
<span style="white-space:pre"></span><dependency><groupId>proxool</groupId><artifactId>proxool</artifactId><version>0.9.1</version></dependency><dependency><groupId>proxool</groupId><artifactId>proxool-cglib</artifactId><version>0.9.1</version></dependency>
修改后运行没有问题,但有的项目模块存储需要创建多个数据源的情况,问题就此产生了......
配置两个数据源后,程序运行总是识别第一个加载的数据源,第二个无法加载成功(但不报错)
查了好多资料都没有这方面的详细说法,没办法只能看源代码了和运行日志
在才发现proxool识别不同的数据源是根据别名来区别的,由于人比较懒,就把别名省略了,哎、
[2014-12-04 10:29:59] - INFO: Shutting down 'null' pool immediately [Shutdown Hook][2014-12-04 10:29:59] - INFO: Stopping Prototyper thread[2014-12-04 10:29:59] - INFO: Stopping HouseKeeper thread
<pre name="code" class="html"><strong>如果加上别名就变成这样了</strong>
[2014-12-04 10:29:59] - INFO: Shutting down '别名' pool immediately [Shutdown Hook][2014-12-04 10:29:59] - INFO: Stopping Prototyper thread[2014-12-04 10:29:59] - INFO: Stopping HouseKeeper thread
经实践证明,在配置信息上加上别名就解决了多个数据源的问题
这个问题解决了,有发现了一个新的问题,在对系统进行压力测试时,多个线程同时操作数据库,过一段时间会出现如下问题
We are already in the process of making 11 connections and the number of simultaneous builds has been throttled to 10
可以说是线程太多造成的(连接数不能及时释放),但这不是根本原因,现在正在测试阶段,后续会更新......
0 0
- 关于java通过proxool连接数据库多数据源的问题
- proxool+spring多数据源动态切换配置问题
- proxool连接池连接sql server2005数据库的问题
- JDBC连接多数据库-proxool连接池配置
- proxool 多数据源动态切换
- Mybatis+Proxool+Spring多数据源切换
- SSM框架配置多数据源连接不同的数据库
- mysql_connect连接多数据库的问题
- 解决JAVA通过JDBC连接Oracle数据库出现的问题
- 用proxool做数据库的连接池
- Proxool数据库的连接及配置
- 关于proxool连接池的配置
- 通过全局文件复制实现多数据源的Map端连接
- proxool连接池问题搞的头疼
- Proxool连接池的释放问题
- Spring Boot 动态连接多数据源,主从数据库
- java application应用程序 使用JDBC和proxool两种方式连接数据库 的测试程序代码
- java application应用程序 使用JDBC和proxool两种方式连接数据库 的测试程序代码
- spring配置定时器的时间设置
- 项目管理工具和技术——PERT图和甘特图
- restful接口POST方式请求
- c++中namespace的使用
- Android常见控件Radio Checkbox
- 关于java通过proxool连接数据库多数据源的问题
- Highcharts表格type类型的切换
- Android JNI学习笔记
- apache2的搭建
- 亲测Android wifi状态三种广播
- Android开发中的armeabi和armeabi-v7a介绍
- Linux 设置系统时间
- 取通讯录的属性
- pnp4nagios的安装和配置