diff --git a/java/debugger/impl/resources/META-INF/java-debugger.xml b/java/debugger/impl/resources/META-INF/java-debugger.xml
index 7213d8b0789e..964237540aa5 100644
--- a/java/debugger/impl/resources/META-INF/java-debugger.xml
+++ b/java/debugger/impl/resources/META-INF/java-debugger.xml
@@ -93,7 +93,7 @@
-
+
diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/hotswap/HotSwapDebugSessionListener.kt b/java/debugger/impl/src/com/intellij/debugger/impl/hotswap/HotSwapDebugSessionListener.kt
index e8e8a3c45ea8..f62c0ae9d1b1 100644
--- a/java/debugger/impl/src/com/intellij/debugger/impl/hotswap/HotSwapDebugSessionListener.kt
+++ b/java/debugger/impl/src/com/intellij/debugger/impl/hotswap/HotSwapDebugSessionListener.kt
@@ -5,8 +5,11 @@ import com.intellij.debugger.engine.JavaDebugProcess
import com.intellij.debugger.impl.DebuggerSession
import com.intellij.debugger.ui.HotSwapStatusListener
import com.intellij.openapi.Disposable
+import com.intellij.openapi.components.Service
import com.intellij.openapi.components.service
+import com.intellij.openapi.components.serviceAsync
import com.intellij.openapi.project.Project
+import com.intellij.openapi.startup.ProjectActivity
import com.intellij.openapi.util.Disposer
import com.intellij.openapi.util.registry.Registry
import com.intellij.util.asDisposable
@@ -23,6 +26,13 @@ import java.util.concurrent.ConcurrentHashMap
private data class JavaHotSwapSessionEntry(val hotSwapSession: HotSwapSession<*>, val disposable: Disposable)
+private class HotSwapManagerInitActivity : ProjectActivity {
+ override suspend fun execute(project: Project) {
+ project.serviceAsync()
+ }
+}
+
+@Service(Service.Level.PROJECT)
internal class HotSwapDebugSessionManager(project: Project, cs: CoroutineScope) : XDebuggerManagerListener {
private val sessions = ConcurrentHashMap()