From ee779e15f35dac63f08a364ffe6474b94d872bda Mon Sep 17 00:00:00 2001 From: dsyer Date: Sat, 2 Feb 2008 15:19:49 +0000 Subject: [PATCH] IN PROGRESS - issue BATCH-7: Remove transaction synchronization and state management from input/output sources (formerly buffering) http://jira.springframework.org/browse/BATCH-7 Check for isMarkSupported(). --- .../batch/item/stream/SimpleStreamManager.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/stream/SimpleStreamManager.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/stream/SimpleStreamManager.java index eccb00c69..e822c3e23 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/stream/SimpleStreamManager.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/stream/SimpleStreamManager.java @@ -99,7 +99,7 @@ public class SimpleStreamManager implements StreamManager { Properties properties = provider.getStreamContext().getProperties(); if (properties != null) { String prefix = ""; // ClassUtils.getShortClassName(provider.getClass()) - // + "."; + // + "."; for (Iterator propiter = properties.keySet().iterator(); propiter.hasNext();) { String key = (String) propiter.next(); String value = properties.getProperty(key); @@ -155,14 +155,18 @@ public class SimpleStreamManager implements StreamManager { if (status == TransactionSynchronization.STATUS_COMMITTED) { iterate(key, new Callback() { public void execute(ItemStream stream) { - stream.mark(stream.getStreamContext()); + if (stream.isMarkSupported()) { + stream.mark(stream.getStreamContext()); + } } }); } else if (status == TransactionSynchronization.STATUS_ROLLED_BACK) { iterate(key, new Callback() { public void execute(ItemStream stream) { - stream.reset(stream.getStreamContext()); + if (stream.isMarkSupported()) { + stream.reset(stream.getStreamContext()); + } } }); } @@ -208,5 +212,4 @@ public class SimpleStreamManager implements StreamManager { void execute(ItemStream stream); } - }