This is an automated email from the ASF dual-hosted git repository.
marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
The following commit(s) were added to refs/heads/main by this push:
new b752227 Fix #509
b752227 is described below
commit b7522272aee4803152a6752be27a245fa3579636
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Tue Nov 1 08:21:02 2022 -0400
Fix #509
---
.../org/apache/camel/karavan/service/StatusService.java | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git
a/karavan-app/src/main/java/org/apache/camel/karavan/service/StatusService.java
b/karavan-app/src/main/java/org/apache/camel/karavan/service/StatusService.java
index 07b9132..7f5b746 100644
---
a/karavan-app/src/main/java/org/apache/camel/karavan/service/StatusService.java
+++
b/karavan-app/src/main/java/org/apache/camel/karavan/service/StatusService.java
@@ -31,7 +31,9 @@ import org.jboss.logging.Logger;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -55,7 +57,7 @@ public class StatusService {
@ConfigProperty(name = "karavan.environment")
String environment;
- private long lastCollect = 0;
+ private Map<String, Long> lastCollect = new HashMap<>();
private ObjectMapper mapper = new ObjectMapper();
@Inject
Vertx vertx;
@@ -74,21 +76,22 @@ public class StatusService {
@ConsumeEvent(value = CMD_COLLECT_PROJECT_STATUS, blocking = true, ordered
= true)
public void collectProjectStatus(String projectId) {
- if ((System.currentTimeMillis() - lastCollect) > threshold) {
+ if ((System.currentTimeMillis() - lastCollect.getOrDefault(projectId,
0L)) > threshold) {
collectStatusesForProject(projectId);
- lastCollect = System.currentTimeMillis();
+ lastCollect.put(projectId, System.currentTimeMillis());
}
}
@ConsumeEvent(value = CMD_COLLECT_ALL_STATUSES, blocking = true, ordered =
true)
public void collectAllStatuses(String data) {
- if ((System.currentTimeMillis() - lastCollect) > threshold) {
+ String all = "ALL_PROJECTS";
+ if ((System.currentTimeMillis() - lastCollect.getOrDefault(all, 0L)) >
threshold) {
infinispanService.getDeploymentStatuses().forEach(d ->
eventBus.publish(CMD_COLLECT_PROJECT_STATUS, d.getName()));
- lastCollect = System.currentTimeMillis();
+ lastCollect.put(all, System.currentTimeMillis());
}
}
- @ConsumeEvent(value = CMD_SAVE_STATUS, blocking = true, ordered = true)
+ @ConsumeEvent(value = CMD_SAVE_STATUS, blocking = true)
public void saveStatus(String status) {
try {
CamelStatus cs = mapper.readValue(status, CamelStatus.class);