c3p0 数据库迁移
来源:互联网 发布:苹果手机4g网络怎么开 编辑:程序博客网 时间:2024/05/21 10:18
近期需要迁移数据库,迁移后数据库ip将会改变。我们系统使用c3p0连接池,原本以为在数据库迁移后,只需修改服务器的hosts文件,将数据库配置文件中的对应域名映射到新的ip即可。但实验后发现此方法存在问题。
可做如下实验:
实验说明即使修改hosts了文件,此后通过连接池得到的Connection仍然使用的之前的ip。通过debug,可以发现服务启动后,在进行第一次查询前,c3p0连接池将会被初始化,这时相关的配置已经加载到内存。如下图所示,在连接池初始化后,com.mchange.v2.c3p0.ComboPooledDataSource类中dmds域(类型为com.mchange.v2.c3p0.DriverManagerDataSource)的jdbcUrl的域已经被赋值,之后即使是修改了hosts文件,ComboPooledDataSource所新建的连接还是会使用之前的配置。这样若要不修改其它配置,最方便的方法还是在修改了hosts文件之后重启服务,从而重新初始化连接池。
可做如下实验:
- 在本机启动服务,查询正常
- 修改host文件,将数据库域名对应的ip修改为错误ip
- 重新查询,查询正常
- 拔掉本机网线后重新插上,查询正常
- 修改连接池的配置,将初始化链接数与最小链接数修改为1,重复上述实验,结果相同
实验说明即使修改hosts了文件,此后通过连接池得到的Connection仍然使用的之前的ip。通过debug,可以发现服务启动后,在进行第一次查询前,c3p0连接池将会被初始化,这时相关的配置已经加载到内存。如下图所示,在连接池初始化后,com.mchange.v2.c3p0.ComboPooledDataSource类中dmds域(类型为com.mchange.v2.c3p0.DriverManagerDataSource)的jdbcUrl的域已经被赋值,之后即使是修改了hosts文件,ComboPooledDataSource所新建的连接还是会使用之前的配置。这样若要不修改其它配置,最方便的方法还是在修改了hosts文件之后重启服务,从而重新初始化连接池。
- c3p0 数据库迁移
- 数据库迁移
- 数据库迁移
- 数据库迁移
- 数据库迁移
- 数据库迁移
- 数据库迁移
- 数据库迁移
- 数据库迁移
- 数据库迁移
- 数据库迁移
- 数据库迁移
- 数据库连接池从c3p0迁移到druid
- C3P0连接数据库
- c3p0数据源连接数据库
- c3p0连接数据库
- c3p0连接sql2005数据库
- C3P0的数据库源
- Android 如何在自定义界面上启用输入法 (How to enable inputmethod for the custom UI)
- 内存越界(累积篇)
- Linux grep
- BIT寒假练习-2013__1012:导弹防御问题
- jQuery的each函数--轻松实现一个页面中的多个进度条
- c3p0 数据库迁移
- Two minus one Rules
- gsensor即时数据的apk && 用gsensor来判断手机的静和动 && 手机摇一摇 &&气压计的测试应用
- PHP数组的总结
- java 路径问题总结
- 如何在CSDN博客添加友情链接
- mysql主从复制
- android调用webservice问题
- 2.3UIPickerView