diff options
author | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2017-10-31 15:24:18 +0100 |
---|---|---|
committer | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2017-11-03 14:29:16 +0100 |
commit | a6499246ce47e223255d91179fb6370f421da4d2 (patch) | |
tree | 98d211431c058fae7a5cf66d61e7124712bb6f9b /server/sonar-server/src | |
parent | 3f77b1c483891f478fd95cada5f5d1f6f1ea3b14 (diff) | |
download | sonarqube-a6499246ce47e223255d91179fb6370f421da4d2.tar.gz sonarqube-a6499246ce47e223255d91179fb6370f421da4d2.zip |
SONAR-9973 ComponentContainer#stopComponent now never fail
and ensures all stoppable and/or disposable components in the container have their stop and/or dispose methods called
Diffstat (limited to 'server/sonar-server/src')
-rw-r--r-- | server/sonar-server/src/main/java/org/sonar/server/computation/task/container/TaskContainerImpl.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/task/container/TaskContainerImpl.java b/server/sonar-server/src/main/java/org/sonar/server/computation/task/container/TaskContainerImpl.java index cd65f1c886d..27888a6f9be 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/task/container/TaskContainerImpl.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/task/container/TaskContainerImpl.java @@ -32,6 +32,7 @@ import org.sonar.api.utils.log.Loggers; import org.sonar.core.platform.ComponentContainer; import org.sonar.core.platform.ContainerPopulator; import org.sonar.core.platform.Module; +import org.sonar.core.platform.StopSafeReflectionLifecycleStrategy; import static java.util.Objects.requireNonNull; @@ -62,7 +63,7 @@ public class TaskContainerImpl extends ComponentContainer implements TaskContain */ private static MutablePicoContainer createContainer(ComponentContainer parent) { ComponentMonitor componentMonitor = new NullComponentMonitor(); - ReflectionLifecycleStrategy lifecycleStrategy = new ReflectionLifecycleStrategy(componentMonitor, "start", "stop", "close") { + ReflectionLifecycleStrategy lifecycleStrategy = new StopSafeReflectionLifecycleStrategy(componentMonitor) { @Override public boolean isLazy(ComponentAdapter<?> adapter) { return adapter.getComponentImplementation().getAnnotation(EagerStart.class) == null; |