From 8f05c3e11eff04c15d6fe08fd612cf9207b40c01 Mon Sep 17 00:00:00 2001 From: Michael Minella Date: Thu, 25 May 2017 09:41:49 -0500 Subject: [PATCH] Add previously closed check around HibernateCusorItemReader#close() This commit makes calling the close method on the HibernateCursorItemReader safe to be called multiple times. Resloves BATCH-2619 --- .../item/database/HibernateCursorItemReader.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateCursorItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateCursorItemReader.java index 6552b3d76..070a6f8c5 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateCursorItemReader.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateCursorItemReader.java @@ -220,13 +220,14 @@ public class HibernateCursorItemReader extends AbstractItemCountingItemStream @Override protected void doClose() throws Exception { - initialized = false; + if(initialized) { + if (cursor != null) { + cursor.close(); + } - if (cursor != null) { - cursor.close(); + helper.close(); } - helper.close(); - + initialized = false; } }