日常联调采坑成长
0.禁止直接赋值粘贴别人的代码
1.关于注解的使用
@service @RestController @ReRequestMapping @Compont
问题:线上某个项目老是运行不成功 ,报错是avatar的一些依赖文件总是 cannot find symbo
分析过程:由于自己手动改了项目依赖为本地依赖,所以项目本身并没有出错,而且在构建环境中也没有出错,当时以前一切都没错,可能是别人代码问题,但是别人代码都是修改了之后都在在本地跑通了之后才提交的代码,然后仔细查看本地项目依赖中引入的avatar版本,终于发现本地的依赖居然是以前的依赖文件,于是找到问题所在,需要pom.xml文件中找到引入的旧版本然后进行删除
之后重新
原因: 项目代码引入avatar老的版本
解决办法:需要pom.xml文件中找到引入的旧版本然后进行删除
2.dubbo服务的生产者和消费者问题报错
问题:服务提供者和消费者问题
解决方案:明确问题出现原因和现象,然后仔细查看关于项目服务中dubbo的配置文件发现了端倪,当时为了快速解决问题直接粘貼的上面引入文件进行修改,结果后来发现自己天真了
所以这里确定服务提供者和消费者必须这样配置,如图所示
service服务提供者
if (tagName.length() > 10 || tagName == null){
result.setStatus(STATUS_ERROR);
result.setBody("tagName 长度过长或者tagName不能NULL");
result.setErrorCode(502);
result.setErrorMessage("接收前端传递数据异常NULL");
return result; //忘记直接返回了导致后面数据覆盖
}
问题分析:可能是后端返回值的地方逻辑判断不对,需要修改
解决方案:查询返回数据,找到原因,忘记直接把if 判断的值直接返回,导致前端数据异常
数据库表莫名其妙修改不了,前端请求可以成功但是数据库数据没发生改变
查询资料
找到一个博客地址
数据查看
http://blog.sina.com.cn/s/blog_66519bd80102v3ct.html
1、查询是否锁表 show OPEN TABLES where In_use > 0;
2、查询进程 show processlist
查询到相对应的进程===然后 kill id
补充:
查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
在这些错误都排除以后
执行 给增加用户权限:grant all privileges on institution.dt_tag_list to [email protected]'%' identified by "Yx6SEa848Kbk";
完美解决
5.关于代码科学性
关于业务代码一般放在Controller里面去进行判断,但是我们很多时候仅仅只需要提供接口,这时候我们需要把这边service的接口里面的业务流程提到Bussiness里面书写复杂的业务逻辑,便于后期的维护和阅读,然后直接在ServiceImpl里面直接调用处理好的数据即可
public TagDetailsVo queryBackTagAndDetail(Integer applyUserId){
String tagNames = null;
List<TagListVo> tagListVoList;
TagDetailsVo tagDetailsVo = new TagDetailsVo();
DetailsVo detailsVo = detailsRepo.queryDataByApplyUserId(applyUserId);
if (detailsVo != null && detailsVo.getTagIds() != null){
tagListVoList = tagListRepo.findTagNameByIdList(detailsVo.getTagIds());
//遍历查询结果
for (TagListVo tagListVo : tagListVoList){
System.out.println("name=" + tagListVo.getTagName());
if (tagListVo != null){
tagNames += tagListVo.getTagName() + "/";
}
}
//去掉拼接的最后一个 /
String finalTagNames = tagNames.substring(4,tagNames.length() - 1 );
tagDetailsVo.setTagNameList(finalTagNames);
tagDetailsVo.setApplyUserId(detailsVo.getApplyUserId());
tagDetailsVo.setBackDetails(detailsVo.getDetail());
return tagDetailsVo;
}else {
return tagDetailsVo;
}
}
以后慢慢采坑,慢慢记录成长,争取考上研究生!!!