aboutsummaryrefslogtreecommitdiffstats
path: root/config/src/main/java/com/yahoo/config/subscription/ConfigGetter.java
diff options
context:
space:
mode:
Diffstat (limited to 'config/src/main/java/com/yahoo/config/subscription/ConfigGetter.java')
-rwxr-xr-xconfig/src/main/java/com/yahoo/config/subscription/ConfigGetter.java16
1 files changed, 5 insertions, 11 deletions
diff --git a/config/src/main/java/com/yahoo/config/subscription/ConfigGetter.java b/config/src/main/java/com/yahoo/config/subscription/ConfigGetter.java
index e126b13388a..b2aa0147259 100755
--- a/config/src/main/java/com/yahoo/config/subscription/ConfigGetter.java
+++ b/config/src/main/java/com/yahoo/config/subscription/ConfigGetter.java
@@ -47,18 +47,12 @@ public class ConfigGetter<T extends ConfigInstance> {
* @return an instance of a config class
*/
public synchronized T getConfig(String configId) {
- ConfigSubscriber subscriber;
- ConfigHandle<T> h;
- if (source == null) {
- subscriber = new ConfigSubscriber();
- } else {
- subscriber = new ConfigSubscriber(source);
+ try (ConfigSubscriber subscriber =
+ source == null ? new ConfigSubscriber() : new ConfigSubscriber(source)) {
+ ConfigHandle<T> handle = subscriber.subscribe(clazz, configId);
+ subscriber.nextConfig();
+ return handle.getConfig();
}
- h = subscriber.subscribe(clazz, configId);
- subscriber.nextConfig();
- T ret = h.getConfig();
- subscriber.close();
- return ret;
}
/**