不知不觉发现三个月没写文章了,一晃就是三个月,时间过的太快。大半年光阴已经过去,一个星期,一个月,瞬时而过。以前常说至少一个星期发表一票文章,一个月差不多四篇文章,其实写文章,第一是大家把所遇到的问题共享,以致别人可以通过文章快速解决问题,第二,自己也可以将自己学习中和项目中遇到的问题总结。以做到提升自己,使自己在项目中发现问题。
最近几个月,在项目中也遇到了一些问题,先说说下。第一个问题,使用flyway管理mysql,在初始数据中,里面包含特殊字符,如:'${title}。如果没有在配置文件中配置,总会在初始数据时候报错。报错如下:
Invocation of init method failed; nested exception is org.flywaydb.core.api.FlywayException: No value provided for placeholder expressions: ${content}, ${title}
因为没有在flyway配置文件中指定是否需要替换占位符,如果有匹配符的,则指定flyway.placeholderReplacement=false。这样,mysql初始数据则完全正常。
第二个问题,大家经常能遇到的问题,通过feign调用外部接口,外部接口全模糊查询,拥有一百万数据,返回时间很长,造成的效果feign超时,因为没有提前了解ribbon的readTimeout时间,发现一直readTimeOut,ebug了一下默认的ReadTimeout时间为5s,ConnectTimeout时间为2s。然后修改配置:
ribbon:
ReadTimeout: 60000
ConnectTimeout: 60000
这样很完美,瞬间解决问题。今天就记录这么多,其实这些问题应该很多人在项目中遇到过,有些还是比较基础的,但是做项目的时候,有时候就是脑袋短路了。