diff options
author | Maros Marsalek <mmarsale@cisco.com> | 2016-11-03 16:21:13 +0100 |
---|---|---|
committer | Maros Marsalek <mmarsale@cisco.com> | 2016-11-03 18:04:44 +0100 |
commit | 49ff45b7612f3a0d89c931ee218c80400eedbec2 (patch) | |
tree | 25b0d6bca03a047ce3ad3f8bd32df5a9b5452a61 | |
parent | e83f0e1d6451c96ef9850b4a8b058c4b5c307617 (diff) |
Properly close open files(persistence)
Change-Id: I0b6a01c7360e056059b0c8ed1821a0fdddc59308
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
-rw-r--r-- | infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/PersistingDataTreeAdapter.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/PersistingDataTreeAdapter.java b/infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/PersistingDataTreeAdapter.java index 356ca51c1..3c356c256 100644 --- a/infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/PersistingDataTreeAdapter.java +++ b/infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/PersistingDataTreeAdapter.java @@ -24,6 +24,7 @@ import com.google.common.base.MoreObjects; import com.google.common.base.Optional; import io.fd.honeycomb.translate.util.JsonUtils; import java.io.IOException; +import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.StandardOpenOption; @@ -109,11 +110,10 @@ public class PersistingDataTreeAdapter implements DataTree { void persistCurrentData(final Optional<NormalizedNode<?, ?>> currentRoot) { if (currentRoot.isPresent()) { - try { + try (OutputStream outputStream = Files.newOutputStream(path, StandardOpenOption.CREATE, + StandardOpenOption.TRUNCATE_EXISTING)) { LOG.trace("Persisting current data: {} into: {}", currentRoot.get(), path); - JsonUtils.writeJsonRoot(currentRoot.get(), schemaServiceDependency.getGlobalContext(), - Files.newOutputStream(path, StandardOpenOption.CREATE, - StandardOpenOption.TRUNCATE_EXISTING)); + JsonUtils.writeJsonRoot(currentRoot.get(), schemaServiceDependency.getGlobalContext(), outputStream); LOG.trace("Data persisted successfully in {}", path); } catch (IOException e) { throw new IllegalStateException("Unable to persist current data", e); |