代码有bug 执行10000次 最后只赛进去1个Process
因为 CloudService cloudService = (CloudService) vertexModel; 这里的cloudService变量会被共享,重复不断被覆盖
vertexModelList.add(cloudService);
public void testAddVertex(int count, VertexModel vertexModel) {
List<VertexModel> vertexModels = new ArrayList<>();
for (int i = 0; i < count; i++) {
mockVertexes(vertexModels, 1710119400000L + i * 1000, vertexModel, SOURCE_ENGINEERING);
}
createGesClient();
this.addVertexes(vertexModels);
}
private List<VertexModel> getVertexModels(int size) {
List<VertexModel> vertexModels = new ArrayList<>();
for (int i = 0; i < size; i++) {
mockVertexes(vertexModels, 1710119400000L + i * 1000, new Process(), SOURCE_ENGINEERING);
}
return vertexModels;
}
private void mockVertexes(List<VertexModel> vertexModelList, long time, VertexModel vertexModel,
String environmentId) {
String uuid = UUID.randomUUID().toString();
String start = uuid.substring(0, uuid.indexOf("-"));
String appName = "ManageOne" + start;
vertexModel.setId(uuid);
vertexModel.setName("MOCommonCompt.MOUniAuthService" + start);
vertexModel.setCreateTime(new Date(time));
vertexModel.setUpdateTime(new Date(time));
vertexModel.setEnvironmentId(environmentId);
switch (vertexModel.getClass().getSimpleName()) {
case "Process":
Process process = new Process();
BeanUtils.copyProperties(vertexModel, process);
process.setDescription("matchedProcess");
process.setAppName(appName);
process.setServiceName("DBS-DRS-Service.DBS-drs-kafka" + start);
process.setCouldServiceRelated(new HashSet<>(Collections.singletonList(appName)));
vertexModelList.add(process);
break;
case "CloudService":
CloudService cloudService = (CloudService) vertexModel;
cloudService.setAppName(appName);
cloudService.setIndexName(appName);
cloudService.setName(appName);
cloudService.setCouldServiceRelated(new HashSet<>(Collections.singletonList(appName)));
cloudService.setVersion(start);
vertexModelList.add(cloudService);
break;
case "CommonService":
int fourDigitNumber = random.nextInt(9000) + 1000;
CommonService commonService = (CommonService) vertexModel;
commonService.setAppName(appName);
commonService.setAppId(uuid);
commonService.setType(appName);
commonService.setServerPorts(new HashSet<>(Collections.singletonList(String.valueOf(fourDigitNumber))));
commonService.setVersion(start);
vertexModelList.add(commonService);
break;
case "CaculateVirtual":
CaculateVirtual virtual = (CaculateVirtual) vertexModel;
virtual.setAzoneId(uuid);
virtual.setRegionId(uuid);
virtual.setIpAddress(start);
virtual.setType(CaculateVirtual.Type.VM);
vertexModelList.add(virtual);
break;
case "VolumeVirtual":
VolumeVirtual volume = (VolumeVirtual) vertexModel;
volume.setType(VolumeVirtual.VolumeType.EVS);
volume.setStatus("in-use");
vertexModelList.add(volume);
break;
default:
System.out.println("传进来不对");
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类