Skip to content
This repository has been archived by the owner on Oct 28, 2024. It is now read-only.

建立连接后修改数据源配置不生效 #202

Closed
yanxunxiaoyugan opened this issue May 23, 2023 · 1 comment
Closed

建立连接后修改数据源配置不生效 #202

yanxunxiaoyugan opened this issue May 23, 2023 · 1 comment

Comments

@yanxunxiaoyugan
Copy link

环境: 使用最新dev分支在本地调试, mysql8
举个例子:
先使用一个错误密码(其他配置均正确)添加添加一个数据源,此时建立连接。
连接建立失败,但是此时的dataSource信息会被缓存到DataSourceManager的DATA_SOURCE_MAP里面
修改这个错误连接,把密码改成正确的密码,再次连接,还是无法正确连接数据库。
分析原理:

image
image
如上图所示,只有!connectInfo.equals(dataSource.getConnectInfo()) == false才会移除旧的数据源信息
equals方法里最主要的依据是gmtModified,也就是上次修改时间。
但是在获取最新的connectInfo方法(ConnectionInfoHandler#toInfo()),并没有把gmtModified设置进去。
所以!connectInfo.equals(dataSource.getConnectInfo()) 为永真式
这样就会出现上面那个问题

@yanxunxiaoyugan
Copy link
Author

两个commit都在这里了 大佬可以看看 #201

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant