From: Zipeng WU Date: Fri, 11 Dec 2020 16:40:56 +0000 (+0100) Subject: Close all resources automatically X-Git-Tag: 8.7.0.41497~224 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ea1876bac569584125f2bd41f8c8fbf897cece2f;p=sonarqube.git Close all resources automatically --- diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/notification/NotificationQueueDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/notification/NotificationQueueDto.java index c6a80800248..b7516aabdc0 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/notification/NotificationQueueDto.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/notification/NotificationQueueDto.java @@ -24,7 +24,6 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; -import org.apache.commons.io.IOUtils; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; import org.sonar.api.notifications.Notification; @@ -72,18 +71,14 @@ public class NotificationQueueDto { } public static NotificationQueueDto toNotificationQueueDto(T notification) { - ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); - try { - ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); + try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream)) { objectOutputStream.writeObject(notification); objectOutputStream.close(); return new NotificationQueueDto().setData(byteArrayOutputStream.toByteArray()); } catch (IOException e) { throw new SonarException("Unable to write notification", e); - - } finally { - IOUtils.closeQuietly(byteArrayOutputStream); } } @@ -92,15 +87,11 @@ public class NotificationQueueDto { return null; } - ByteArrayInputStream byteArrayInputStream = null; - try { - byteArrayInputStream = new ByteArrayInputStream(this.data); - ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream); + try (ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(this.data); + ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream)) { Object result = objectInputStream.readObject(); objectInputStream.close(); return (T) result; - } finally { - IOUtils.closeQuietly(byteArrayInputStream); } }