本篇用以记录开发中遇到的各类问题,有些是功力不够,有些是经验不足,有些是机制不了解,特整理如下,备忘以用。
1.关于微信公众号程序的 js脚本 变更不生效问题
变更微信公众号所用的js脚本,不生效。后在引用处添加 js版本号,可以正常变更。疑微信存在 js的缓存机制,但过期时间不了解。
具体修改如下:
在网页引用js处添加版本号 xxxxxxxx.js?v=20190609
建议: 如果变更所体现的结果不明显,加入一段易于查看是否发生了文件更新的标识为好。
2.开发环境正常,而测试环境不符合开发环境预期的问题排查
主要从以下几个角度:
1)二者文件是否一致
建议: 如果变更所体现的结果不明显,加入一段易于查看是否发生了文件更新的标识为好。
2)二者运行环境是否一致(包括但不限于jdk版本,服务器编码)
如:UTF-8 汉字占3个或4个字节,但 GBK编码占2个字节,如果报文按照长度截取,若编码格式不正确,可能会造成报文不完整
建议:linux使用echo $LANG 或 locale 查看编码
3)数据库配置是否一致
如:系统参数,连接参数等是否缺失,是否符合该环境要求
4)个别插件造成的影响
如:密码框等
3.java.net.UnkownHostException: ibatis.apache.org (或java.net.UnkownHostException: mybatis.org)
排查时可全局搜索 ibatis.apache.org ,可将问题定位在配置文件引用dtd约束处。如果主机没有联网,那么需要将约束改为本地目录。dtd约束文件可在 jar包 /builder/xml/ 文件夹下找到
4.CannotAcquireResourceException
com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.