This is an automated email from the ASF dual-hosted git repository.

DaanHoogland pushed a commit to branch ghi10752-config-event-bus
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 676645cdc436d8e0a77cd5aaf1e590aabbc79672
Author: Daan Hoogland <[email protected]>
AuthorDate: Thu Oct 22 11:35:35 2026 +0200

    use ConfigKeys for event bus settings
    
    Part of the split of #13884 (phase out the Config enum, #10752).
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
---
 .../src/main/java/com/cloud/event/UsageEventUtils.java    | 15 +++++++--------
 .../src/main/java/com/cloud/event/ActionEventUtils.java   | 11 ++---------
 server/src/main/java/com/cloud/event/AlertGenerator.java  | 11 ++---------
 .../java/com/cloud/event/ActionEventInterceptorTest.java  |  2 --
 .../test/java/com/cloud/event/ActionEventUtilsTest.java   |  2 --
 5 files changed, 11 insertions(+), 30 deletions(-)

diff --git 
a/engine/components-api/src/main/java/com/cloud/event/UsageEventUtils.java 
b/engine/components-api/src/main/java/com/cloud/event/UsageEventUtils.java
index 1c88c7df124..c0251bf27e6 100644
--- a/engine/components-api/src/main/java/com/cloud/event/UsageEventUtils.java
+++ b/engine/components-api/src/main/java/com/cloud/event/UsageEventUtils.java
@@ -28,8 +28,8 @@ import javax.inject.Inject;
 import com.cloud.network.Network;
 import org.apache.commons.collections.MapUtils;
 import org.springframework.beans.factory.NoSuchBeanDefinitionException;
+import org.apache.cloudstack.framework.config.ConfigKey;
 
-import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
 import org.apache.cloudstack.framework.events.Event;
 import org.apache.cloudstack.framework.events.EventBus;
 import org.apache.cloudstack.framework.events.EventDistributor;
@@ -50,17 +50,19 @@ public class UsageEventUtils {
     private static DataCenterDao s_dcDao;
     protected static Logger LOGGER = 
LogManager.getLogger(UsageEventUtils.class);
     protected static EventBus s_eventBus = null;
-    protected static ConfigurationDao s_configDao;
     private static EventDistributor eventDistributor;
 
+    // Registered/owned by 
com.cloud.server.ManagementServer#PublishUsageEvent; declared here too so this
+    // module can read it without a reverse dependency on the server module.
+    private static final ConfigKey<Boolean> PublishUsageEvent = new 
ConfigKey<>("Advanced", Boolean.class, "publish.usage.events", "true",
+            "enable or disable publishing of usage events on the event bus", 
true);
+
     @Inject
     UsageEventDao usageEventDao;
     @Inject
     AccountDao accountDao;
     @Inject
     DataCenterDao dcDao;
-    @Inject
-    ConfigurationDao configDao;
 
     public UsageEventUtils() {
     }
@@ -70,7 +72,6 @@ public class UsageEventUtils {
         s_usageEventDao = usageEventDao;
         s_accountDao = accountDao;
         s_dcDao = dcDao;
-        s_configDao = configDao;
     }
 
     public static void publishUsageEvent(String usageType, long accountId, 
long zoneId, long resourceId, String resourceName, Long offeringId, Long 
templateId,
@@ -215,9 +216,7 @@ public class UsageEventUtils {
     }
 
     private static void publishUsageEvent(String usageEventType, Long 
accountId, Long zoneId, String resourceType, String resourceUUID) {
-        String configKey = "publish.usage.events";
-        String value = s_configDao.getValue(configKey);
-        boolean configValue = Boolean.parseBoolean(value);
+        boolean configValue = PublishUsageEvent.value();
         if( !configValue)
             return;
         try {
diff --git a/server/src/main/java/com/cloud/event/ActionEventUtils.java 
b/server/src/main/java/com/cloud/event/ActionEventUtils.java
index 0ebb266fd7c..48a77336fe1 100644
--- a/server/src/main/java/com/cloud/event/ActionEventUtils.java
+++ b/server/src/main/java/com/cloud/event/ActionEventUtils.java
@@ -32,7 +32,6 @@ import org.apache.cloudstack.api.ApiCommandResourceType;
 import org.apache.cloudstack.api.Identity;
 import org.apache.cloudstack.api.InternalIdentity;
 import org.apache.cloudstack.context.CallContext;
-import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
 import org.apache.cloudstack.framework.events.EventDistributor;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -40,10 +39,10 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.springframework.beans.factory.NoSuchBeanDefinitionException;
 
-import com.cloud.configuration.Config;
 import com.cloud.event.dao.EventDao;
 import com.cloud.projects.Project;
 import com.cloud.projects.dao.ProjectDao;
+import com.cloud.server.ManagementServer;
 import com.cloud.server.ManagementService;
 import com.cloud.user.Account;
 import com.cloud.user.AccountVO;
@@ -65,7 +64,6 @@ public class ActionEventUtils {
     protected static UserDao s_userDao;
     private static EventDistributor eventDistributor;
     protected static EntityManager s_entityMgr;
-    protected static ConfigurationDao s_configDao;
 
     public static final String EventDetails = "event_details";
     public static final String EventId = "event_id";
@@ -83,8 +81,6 @@ public class ActionEventUtils {
     ProjectDao projectDao;
     @Inject
     EntityManager entityMgr;
-    @Inject
-    ConfigurationDao configDao;
 
     public ActionEventUtils() {
     }
@@ -96,7 +92,6 @@ public class ActionEventUtils {
         s_userDao = userDao;
         s_projectDao = projectDao;
         s_entityMgr = entityMgr;
-        s_configDao = configDao;
     }
 
     public static Long onActionEvent(Long userId, Long accountId, Long 
domainId, String type, String description, Long resourceId, String 
resourceType) {
@@ -208,9 +203,7 @@ public class ActionEventUtils {
     private static void publishOnEventBus(Event eventRecord, long userId, long 
accountId, Long domainId,
           String eventCategory, String eventType, Event.State state, String 
description, String resourceUuid,
           String resourceType) {
-        String configKey = Config.PublishActionEvent.key();
-        String value = s_configDao.getValue(configKey);
-        boolean configValue = Boolean.parseBoolean(value);
+        boolean configValue = ManagementServer.PublishActionEvent.value();
         if(!configValue)
             return;
 
diff --git a/server/src/main/java/com/cloud/event/AlertGenerator.java 
b/server/src/main/java/com/cloud/event/AlertGenerator.java
index 601bf5e831a..feb1ca7e9ea 100644
--- a/server/src/main/java/com/cloud/event/AlertGenerator.java
+++ b/server/src/main/java/com/cloud/event/AlertGenerator.java
@@ -25,18 +25,17 @@ import java.util.Map;
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 
-import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
 import org.apache.cloudstack.framework.events.EventDistributor;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.springframework.beans.factory.NoSuchBeanDefinitionException;
 import org.springframework.stereotype.Component;
 
-import com.cloud.configuration.Config;
 import com.cloud.dc.DataCenterVO;
 import com.cloud.dc.HostPodVO;
 import com.cloud.dc.dao.DataCenterDao;
 import com.cloud.dc.dao.HostPodDao;
+import com.cloud.server.ManagementServer;
 import com.cloud.server.ManagementService;
 import com.cloud.utils.component.ComponentContext;
 
@@ -46,15 +45,12 @@ public class AlertGenerator {
     protected static Logger LOGGER = 
LogManager.getLogger(AlertGenerator.class);
     private static DataCenterDao s_dcDao;
     private static HostPodDao s_podDao;
-    protected static ConfigurationDao s_configDao;
     protected static EventDistributor eventDistributor;
 
     @Inject
     DataCenterDao dcDao;
     @Inject
     HostPodDao podDao;
-    @Inject
-    ConfigurationDao configDao;
 
     public AlertGenerator() {
     }
@@ -63,13 +59,10 @@ public class AlertGenerator {
     void init() {
         s_dcDao = dcDao;
         s_podDao = podDao;
-        s_configDao = configDao;
     }
 
     public static void publishAlertOnEventBus(String alertType, long 
dataCenterId, Long podId, String subject, String body) {
-        String configKey = Config.PublishAlertEvent.key();
-        String value = s_configDao.getValue(configKey);
-        boolean configValue = Boolean.parseBoolean(value);
+        boolean configValue = ManagementServer.PublishAlertEvent.value();
         if (!configValue) {
             return;
         }
diff --git 
a/server/src/test/java/com/cloud/event/ActionEventInterceptorTest.java 
b/server/src/test/java/com/cloud/event/ActionEventInterceptorTest.java
index f655c0d74c0..208ccd3241d 100644
--- a/server/src/test/java/com/cloud/event/ActionEventInterceptorTest.java
+++ b/server/src/test/java/com/cloud/event/ActionEventInterceptorTest.java
@@ -17,7 +17,6 @@
 
 package com.cloud.event;
 
-import com.cloud.configuration.Config;
 import com.cloud.event.dao.EventDao;
 import com.cloud.projects.dao.ProjectDao;
 import com.cloud.user.Account;
@@ -150,7 +149,6 @@ public class ActionEventInterceptorTest {
      */
     public void setupCommonMocks() throws Exception {
         //Some basic mocks.
-        
Mockito.when(configDao.getValue(Config.PublishActionEvent.key())).thenReturn("true");
         componentContextMocked = Mockito.mockStatic(ComponentContext.class);
         
Mockito.when(ComponentContext.getComponent(EventBus.class)).thenReturn(eventBus);
         persistedEvents = new ArrayList<>();
diff --git a/server/src/test/java/com/cloud/event/ActionEventUtilsTest.java 
b/server/src/test/java/com/cloud/event/ActionEventUtilsTest.java
index aba8acf59c2..39985cd05c0 100644
--- a/server/src/test/java/com/cloud/event/ActionEventUtilsTest.java
+++ b/server/src/test/java/com/cloud/event/ActionEventUtilsTest.java
@@ -43,7 +43,6 @@ import org.mockito.invocation.InvocationOnMock;
 import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.stubbing.Answer;
 
-import com.cloud.configuration.Config;
 import com.cloud.event.dao.EventDao;
 import com.cloud.network.IpAddress;
 import com.cloud.projects.dao.ProjectDao;
@@ -148,7 +147,6 @@ public class ActionEventUtilsTest {
      */
     public void setupCommonMocks() throws Exception {
         //Some basic mocks.
-        
Mockito.when(configDao.getValue(Config.PublishActionEvent.key())).thenReturn("true");
         componentContextMocked = Mockito.mockStatic(ComponentContext.class);
         componentContextMocked.when(() -> 
ComponentContext.getComponent(EventDistributor.class)).thenReturn(eventDistributor);
 

Reply via email to