You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/06/21 11:22:58 UTC
[incubator-servicecomb-java-chassis] 03/04: [SCB-194] fix
DefaultRegistryInitializer shutdown problem
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git
commit ae25d4bbce40ac6470e8320c170dc9d8033aacd3
Author: wujimin <wu...@huawei.com>
AuthorDate: Thu Jun 21 00:06:34 2018 +0800
[SCB-194] fix DefaultRegistryInitializer shutdown problem
---
.../apache/servicecomb/metrics/core/DefaultRegistryInitializer.java | 6 ++++--
.../servicecomb/metrics/core/TestDefaultRegistryInitializer.java | 6 ++++++
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/DefaultRegistryInitializer.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/DefaultRegistryInitializer.java
index 6bd8146..586da6b 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/DefaultRegistryInitializer.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/DefaultRegistryInitializer.java
@@ -50,8 +50,10 @@ public class DefaultRegistryInitializer implements MetricsInitializer {
@Override
public void destroy() {
- DefaultMonitorRegistry.getInstance().unregister(registry);
- globalRegistry.remove(registry);
+ if (registry != null) {
+ DefaultMonitorRegistry.getInstance().unregister(registry);
+ globalRegistry.remove(registry);
+ }
}
public Registry getRegistry() {
diff --git a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestDefaultRegistryInitializer.java b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestDefaultRegistryInitializer.java
index 4b2a1c3..f5e77b0 100644
--- a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestDefaultRegistryInitializer.java
+++ b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestDefaultRegistryInitializer.java
@@ -54,4 +54,10 @@ public class TestDefaultRegistryInitializer {
Assert.assertEquals(0, registries.size());
Assert.assertEquals(0, DefaultMonitorRegistry.getInstance().getRegisteredMonitors().size());
}
+
+ @Test
+ public void destroy_notInit() {
+ // should not throw exception
+ registryInitializer.destroy();
+ }
}