迁移数据库之后,修改Hibernate配置文件context-hibernate.xml的连接串,修改前对文件进行了备份,备份文件为复件context-hibernate.xml,备份位置为当前文件夹。 未停原库的情况下,重启应用,发现应用到两个数据库都有连接上来,要开发人员查查是不是还有

迁移数据库之后,修改Hibernate配置文件context-hibernate.xml的连接串,修改前对文件进行了备份,备份文件为"复件context-hibernate.xml",备份位置为当前文件夹。

未停原库的情况下,重启应用,发现应用到两个数据库都有连接上来,要开发人员查查是不是还有其他配置文件没有修改,开发表示只有这一个地方配置了连接,不存在遗漏情况,搜索整个文件夹没发现其他需要配置的地方,后来想想是不是应用读取配置方式设置是不是有问题,

该不会把配置文件夹下所有的.xml都读了吧,于是将"复件context-hibernate.xml"移走到其他地方,重启应用,发现应用完全连接到新的应用了。

事后检查发现spring的配置读取方式是这样设置的:
-
-

果然如此,幸好我们的数据库基本上是静态的,只是每天凌晨才会从其他地方同步数据过来,如果是那种交易较多的在线系统,出现这种情况很有可能会导致两边数据库里都有最新的交易数据,后果严重。

谨记:

1.最好不要再同一目录下备份配置文件。

2.修改配置并重启数据库之后一定要及时检查两边的连接情况。

3.为避免数据混乱,可能的话立刻将原库停止。

09-02 14:25