NodeMerger.java 文件源码

java
阅读 20 收藏 0 点赞 0 评论 0

项目:microservices-dashboard-server 作者:
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;
    };
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号