From ab88c2dd5427320a8dcc6c9c579f987ea4f399c9 Mon Sep 17 00:00:00 2001
From: dsyer
Date: Mon, 7 Sep 2009 07:21:22 +0000
Subject: [PATCH] RESOLVED - issue BATCH-1389: Thread safety in *PagingReader
Javadocs
---
.../batch/item/database/AbstractPagingItemReader.java | 1 +
.../batch/item/database/IbatisPagingItemReader.java | 5 ++++-
.../batch/item/database/JdbcPagingItemReader.java | 4 +++-
.../batch/item/database/JpaPagingItemReader.java | 5 ++++-
4 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/AbstractPagingItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/AbstractPagingItemReader.java
index a62e6e9aa..f21e9ab20 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/AbstractPagingItemReader.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/AbstractPagingItemReader.java
@@ -36,6 +36,7 @@ import org.springframework.util.ClassUtils;
*
*
* @author Thomas Risberg
+ * @author Dave Syer
* @since 2.0
*/
public abstract class AbstractPagingItemReader extends AbstractItemCountingItemStreamItemReader implements
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/IbatisPagingItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/IbatisPagingItemReader.java
index 359bd08ee..bd25a122f 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/IbatisPagingItemReader.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/IbatisPagingItemReader.java
@@ -18,6 +18,7 @@ package org.springframework.batch.item.database;
import org.springframework.util.ClassUtils;
import org.springframework.util.Assert;
+import org.springframework.batch.item.ExecutionContext;
import org.springframework.orm.ibatis.SqlMapClientTemplate;
import java.util.Map;
@@ -60,12 +61,14 @@ import com.ibatis.sqlmap.client.SqlMapClient;
*
*
*
- * The implementation is thread-safe, but remember to use
+ * The implementation is thread-safe in between calls to
+ * {@link #open(ExecutionContext)}, but remember to use
* saveState=false if used in a multi-threaded client (no restart
* available).
*
*
* @author Thomas Risberg
+ * @author Dave Syer
* @since 2.0
*/
public class IbatisPagingItemReader extends AbstractPagingItemReader {
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcPagingItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcPagingItemReader.java
index dba296a4c..e6700e603 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcPagingItemReader.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcPagingItemReader.java
@@ -28,6 +28,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
import javax.sql.DataSource;
+import org.springframework.batch.item.ExecutionContext;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;
@@ -61,7 +62,8 @@ import org.springframework.util.ClassUtils;
*
*
*
- * The implementation is thread-safe, but remember to use
+ * The implementation is thread-safe in between calls to
+ * {@link #open(ExecutionContext)}, but remember to use
* saveState=false if used in a multi-threaded client (no restart
* available).
*
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JpaPagingItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JpaPagingItemReader.java
index 03cab065d..8a332b4f2 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JpaPagingItemReader.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JpaPagingItemReader.java
@@ -25,6 +25,7 @@ import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;
+import org.springframework.batch.item.ExecutionContext;
import org.springframework.dao.DataAccessResourceFailureException;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
@@ -68,13 +69,15 @@ import org.springframework.util.ClassUtils;
*
*
*
- * The implementation is thread-safe, but remember to use
+ * The implementation is thread-safe in between calls to
+ * {@link #open(ExecutionContext)}, but remember to use
* saveState=false if used in a multi-threaded client (no restart
* available).
*
*
*
* @author Thomas Risberg
+ * @author Dave Syer
* @since 2.0
*/
public class JpaPagingItemReader extends AbstractPagingItemReader {