Water2Wine

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

接口的实例化方式有点儿奇怪,以IBaseServiceSPI为例:
问题:为什么不直接用new对象的方式实例化接口的实现类呢
getInstance其实底层还是new了一个实现类,为什么要多此一举呢
回答:为了方便后期去转spring,同时这个确实是一个冗余

为什么日志的单子需要修改为yaml的接口
自动化脚本基于云龙上统一管理的接口,只有yaml的接口才会在云龙上管理

项目中实现排序的语句
好像是归并排序

了解微服务远程调试的原理
Java远程调试的原理是两个VM之间通过debug协议进行通信,然后以达到远程调试的目的,两者之间可以通过socket进行通信

各类配置文件的作用:
yaml定义接口,方便统一管理
proto dmq相关
yang给设备下报文
xml配置依赖
properties键值对,配置一些账号密码参数之类的

改变文件权限的命令:chown ossadm:ossgroup ./*

解决单子的时候查看日志的指令:tail -f

DTS2020062902074

创建WAC组,监控-WAC组不显示站点信息

问题原因:底层dto少了一个siteName参数

dto层少sitename字段,以及需要去调用其他能够获得数据库值的接口来获得sitename的实际值,这个接口可以通过CampusBase来获得
DBProxy是负责连接数据库的微服务

问题解决:
AcStateDto类 ------ pfmmgr-ui
增加一行语句private String siteName;

DTS2020051411957

设备时区手动修改可以,但是自动化脚本修改不行

因为时区的接口是自己生成的Java文件,自动化脚本基于统一管理接口的云龙,而只有yaml文件可以被云龙统一管理,因此需要把接口修改为yaml接口

DTS2020061809406

channelratio

先定位一下具体的语句吧,使用信道利用率的升序和降序试一遍,定位具体语句
首先使用正常的参数来比较一下升序和降序的区别,然后再将信道利用率的升序和降序试一遍比较区别

前端字段的问题,排序功能中是根据字段反射获取类的,这里肯定获取不到

用到了反射,根据字段获取类

queryRadioList
RadioTotalInfos radioTotalInfos = ServiceGetUtil.getPerformanceInfoQueryService().queryRadio(condition);

queryRadio
// 排序
RadioInfoUtil.sortRadioInfo(radioInfos, radioInfoQueryCondition);

sortRadioInfo
List<SingleComparator> comparatorList = PfmCommonsUtil.getComparatorList(sortField);

getComparatorliST
for (String string : sortList) {
SingleComparator single = new SingleComparator<>(string);
comparatorList.add(single);
}

SingleComparator
public int compare(T o1, T o2) {
Class<?> clazz = o1.getClass();
// 获取成员变量
Field field = clazz.getDeclaredField(sortField);

Class
getDeclaredField()
Field field = searchFields(privateGetDeclaredFields(false), name);
searchFields
if (fields[i].getName() == internedName)

最后的核心就是通过RadioInfo类中的相应字段与前端请求的字段进行比较

DTS2020072307517

TLS1.1被视为不安全协议,排查监控的相关功能,看是否有使用这个协议的功能,并判断是否需要改

首先在微服务中全局搜索,找到配置文件中含有tls1.1的语句,然后确定对应的功能,以及是否一定需要当前协议之类的

DTS2020072408842

修改性能上报数据开关,操作日志中含有转义符

posted on 2020-08-10 10:29  Water2Wine  阅读(135)  评论(0编辑  收藏  举报