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);
