近期项目组要做服务的迁移, 但是迁移之后, 数据库的数据读取速度非常慢, 由于有新的开发任务, 也就没有太多关注性能问题. 一个同事经过测试发现, 可能是数据库的用户密码的加密问题, 后来数是没有使用数据库连接池. 但是 springboot 不会自动使用连接池吗? 很奇怪.
迁移服务后, 一个发送消息的服务突然提示不能使用了, 看到日志报错大概为 mapper 的错误, 提示 no bind 等等. 然后找到相关的代码块. 准备自己在本地运行, 然后调试一下. 但是由于实体类不是很好构造, 然后自己准备从代码分析入口. 看了对应的 sql 语句, dao 接口和 mapper 文件都在, 去看了 sql 语句, 测试执行, 也没有什么问题. 考虑到服务以前都可以正常使用, 应该是迁移服务后做的一些改动. 然后我就看到了 @MapperScan 注解, 这个对于扫描的包和类, 我做过相关得到测试的, 路径不对就会报错. 所以我对这个比较敏感. 可以看到, 它没有具体到接口所在的包, 而是在上一层级. 于是这个问题就解决了. 可以看到, 这个问题的解决是依赖于比较扎实的基本功和经验 (敏感性), 而不是同过调试, 浪费很多时间.
关于迁库, 我做的总是不那么完整, 所以要记一下自己要做什么, 然后去做.
来源: http://www.bubuko.com/infodetail-3498752.html