From e658e802f50a801641985ef90518fda6e3534716 Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Thu, 11 Sep 2014 23:51:14 +0200 Subject: [PATCH] SONAR-5618 Close session after use in ComponentDataPersister --- .../batch/index/ComponentDataPersister.java | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/ComponentDataPersister.java b/sonar-batch/src/main/java/org/sonar/batch/index/ComponentDataPersister.java index d00e4cdc84d..f53f82675a4 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/ComponentDataPersister.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/ComponentDataPersister.java @@ -44,21 +44,25 @@ public class ComponentDataPersister implements ScanPersister { @Override public void persist() { DbSession session = mybatis.openSession(true); - for (Map.Entry componentEntry : snapshots.snapshots()) { - String componentKey = componentEntry.getKey(); - Snapshot snapshot = componentEntry.getValue(); - for (Cache.Entry dataEntry : data.entries(componentKey)) { - Data value = dataEntry.value(); - if (value != null) { - SnapshotDataDto dto = new SnapshotDataDto(); - dto.setSnapshotId(snapshot.getId()); - dto.setResourceId(snapshot.getResourceId()); - dto.setDataType(dataEntry.key()[1].toString()); - dto.setData(value.writeString()); - dao.insert(session, dto); + try { + for (Map.Entry componentEntry : snapshots.snapshots()) { + String componentKey = componentEntry.getKey(); + Snapshot snapshot = componentEntry.getValue(); + for (Cache.Entry dataEntry : data.entries(componentKey)) { + Data value = dataEntry.value(); + if (value != null) { + SnapshotDataDto dto = new SnapshotDataDto(); + dto.setSnapshotId(snapshot.getId()); + dto.setResourceId(snapshot.getResourceId()); + dto.setDataType(dataEntry.key()[1].toString()); + dto.setData(value.writeString()); + dao.insert(session, dto); + } } } + session.commit(); + } finally { + MyBatis.closeQuietly(session); } - session.commit(); } } -- 2.39.5