ISSUE-1128: Add respect to cluster's order in ClustersStorage (#1130)
* add respect to cluster's order in ClustersStorage * minor cleaning
This commit is contained in:
parent
53a641cb58
commit
d674808f3c
2 changed files with 7 additions and 24 deletions
|
@ -1,6 +1,5 @@
|
|||
package com.provectus.kafka.ui.service;
|
||||
|
||||
import java.util.Map;
|
||||
import javax.annotation.PostConstruct;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
|
@ -24,10 +23,9 @@ public class ClustersMetricsScheduler {
|
|||
initialDelayString = "${kafka.update-metrics-rate-millis:30000}"
|
||||
)
|
||||
public void updateMetrics() {
|
||||
Flux.fromIterable(clustersStorage.getKafkaClustersMap().entrySet())
|
||||
Flux.fromIterable(clustersStorage.getKafkaClusters())
|
||||
.parallel()
|
||||
.runOn(Schedulers.parallel())
|
||||
.map(Map.Entry::getValue)
|
||||
.flatMap(cluster -> {
|
||||
log.debug("Start getting metrics for kafkaCluster: {}", cluster.getName());
|
||||
return metricsService.updateCache(cluster)
|
||||
|
|
|
@ -1,33 +1,22 @@
|
|||
package com.provectus.kafka.ui.service;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.provectus.kafka.ui.config.ClustersProperties;
|
||||
import com.provectus.kafka.ui.mapper.ClusterMapper;
|
||||
import com.provectus.kafka.ui.model.KafkaCluster;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.annotation.PostConstruct;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class ClustersStorage {
|
||||
|
||||
private final Map<String, KafkaCluster> kafkaClusters = new ConcurrentHashMap<>();
|
||||
private final ImmutableMap<String, KafkaCluster> kafkaClusters;
|
||||
|
||||
private final ClustersProperties clusterProperties;
|
||||
|
||||
private final ClusterMapper clusterMapper = Mappers.getMapper(ClusterMapper.class);
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
for (ClustersProperties.Cluster clusterProperties : clusterProperties.getClusters()) {
|
||||
KafkaCluster cluster = clusterMapper.toKafkaCluster(clusterProperties);
|
||||
kafkaClusters.put(clusterProperties.getName(), cluster);
|
||||
}
|
||||
public ClustersStorage(ClustersProperties properties, ClusterMapper mapper) {
|
||||
var builder = ImmutableMap.<String, KafkaCluster>builder();
|
||||
properties.getClusters().forEach(c -> builder.put(c.getName(), mapper.toKafkaCluster(c)));
|
||||
this.kafkaClusters = builder.build();
|
||||
}
|
||||
|
||||
public Collection<KafkaCluster> getKafkaClusters() {
|
||||
|
@ -37,8 +26,4 @@ public class ClustersStorage {
|
|||
public Optional<KafkaCluster> getClusterByName(String clusterName) {
|
||||
return Optional.ofNullable(kafkaClusters.get(clusterName));
|
||||
}
|
||||
|
||||
public Map<String, KafkaCluster> getKafkaClustersMap() {
|
||||
return kafkaClusters;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue