public static Func2<List<Node>, Node, List<Node>> merge() {
return (mergedNodes, node) -> {
// TODO: we should be able to enrich nodes in a general way before merging, eg. convert all service names to lowercase
// Aggregator specific logic should not come here, eg. removing the Eureka description
Optional<Integer> nodeIndex = mergedNodes.stream()
.filter(n -> n.getId().equalsIgnoreCase(node.getId()))
.map(mergedNodes::indexOf)
.findFirst();
if (nodeIndex.isPresent()) {
logger.info("Node with id '{}' previously added, merging", node.getId());
mergedNodes.get(nodeIndex.get()).mergeWith(node);
} else {
logger.info("Node with id '{}' was not merged before, adding it to the list", node.getId());
mergedNodes.add(node);
}
return mergedNodes;
};
}
NodeMerger.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:microservices-dashboard-server
作者:
评论列表
文章目录