RESOLVED - BATCH-613: StaxEventItemReader can run out of memory

the reader now buffers items instead of xml events
This commit is contained in:
robokaso
2008-05-07 08:03:00 +00:00
parent 8940d1626d
commit 2f17add6b7
3 changed files with 52 additions and 35 deletions

View File

@@ -74,6 +74,10 @@ public abstract class CommonItemReaderTests extends TestCase {
Foo foo5 = (Foo) tested.read();
assertEquals(5, foo5.getValue());
tested.reset();
assertEquals(foo5, tested.read());
assertNull(tested.read());
}

View File

@@ -162,17 +162,6 @@ public class StaxEventItemReaderTests extends TestCase {
assertEquals(second, source.read());
// rollback while deserializing record
source.reset();
source.setFragmentDeserializer(new ExceptionFragmentDeserializer());
try {
source.read();
} catch (Exception expected) {
source.reset();
}
source.setFragmentDeserializer(deserializer);
assertEquals(second, source.read());
}
/**
@@ -355,18 +344,6 @@ public class StaxEventItemReaderTests extends TestCase {
return str.indexOf(searchStr) != -1;
}
/**
* Moves cursor inside the fragment body and causes rollback.
*/
private static class ExceptionFragmentDeserializer implements EventReaderDeserializer {
public Object deserializeFragment(XMLEventReader eventReader) {
eventReader.next();
throw new RuntimeException();
}
}
private static class MockStaxEventItemReader extends StaxEventItemReader {
private boolean openCalled = false;