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 <marat.gubaidul...@gmail.com>
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);

Reply via email to