diff --git a/akka-javasdk/src/main/scala/akka/javasdk/impl/SdkRunner.scala b/akka-javasdk/src/main/scala/akka/javasdk/impl/SdkRunner.scala index 5b096c972..8aee7f803 100644 --- a/akka-javasdk/src/main/scala/akka/javasdk/impl/SdkRunner.scala +++ b/akka-javasdk/src/main/scala/akka/javasdk/impl/SdkRunner.scala @@ -559,7 +559,7 @@ private final class Sdk( private var guardrailEnabledForComponent = Map.empty[String, Set[String]] private def isProvided(clz: Class[_]): Boolean = { - sys.props.get("akka.javasdk.dev-mode.show-hidden-components").isEmpty && + !sdkSettings.devModeSettings.exists(_.showProvidedComponents) && ComponentLocator.providedComponents.contains(clz) } diff --git a/akka-javasdk/src/main/scala/akka/javasdk/impl/Settings.scala b/akka-javasdk/src/main/scala/akka/javasdk/impl/Settings.scala index 30937ded1..c8ad31c99 100644 --- a/akka-javasdk/src/main/scala/akka/javasdk/impl/Settings.scala +++ b/akka-javasdk/src/main/scala/akka/javasdk/impl/Settings.scala @@ -16,13 +16,20 @@ import Settings.DevModeSettings private[impl] object Settings { def apply(sdkConfig: Config): Settings = { + val showProvidedComponents = { + val key = "dev-mode.show-hidden-components" + // hidden config, not in reference.conf + if (sdkConfig.hasPath(key)) sdkConfig.getBoolean(key) else false + } + Settings(devModeSettings = Option.when(sdkConfig.getBoolean("dev-mode.enabled"))( DevModeSettings( serviceName = sdkConfig.getString("dev-mode.service-name"), - httpPort = sdkConfig.getInt("dev-mode.http-port")))) + httpPort = sdkConfig.getInt("dev-mode.http-port"), + showProvidedComponents))) } - final case class DevModeSettings(serviceName: String, httpPort: Int) + final case class DevModeSettings(serviceName: String, httpPort: Int, showProvidedComponents: Boolean) } /**