日常联调采坑成长

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 gsadmin@'%' 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;
    }
}

以后慢慢采坑,慢慢记录成长,争取考上研究生!!!

猜你喜欢

转载自blog.csdn.net/baidu_34168157/article/details/80944709