BATCH-798: Samples working again. TODO: refactor rollbackClassifier into the stateless execution API
This commit is contained in:
@@ -28,6 +28,7 @@ public class ItemTrackingItemWriter<T> implements ItemWriter<T> {
|
||||
counter += items.size();
|
||||
if (current < failure && counter >= failure) {
|
||||
failed = items.get(failure-current-1);
|
||||
this.items.remove(failed);
|
||||
throw new ValidationException("validation failed");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,9 +51,10 @@ public class ItemTrackingItemWriterTests {
|
||||
catch (ValidationException e) {
|
||||
// expected
|
||||
}
|
||||
assertEquals(3, writer.getItems().size());
|
||||
// the failed item is removed
|
||||
assertEquals(2, writer.getItems().size());
|
||||
writer.write(Arrays.asList("a", "e", "c"));
|
||||
assertEquals(6, writer.getItems().size());
|
||||
assertEquals(5, writer.getItems().size());
|
||||
try {
|
||||
writer.write(Arrays.asList("f", "b", "g"));
|
||||
fail("Expected ValidationException");
|
||||
@@ -61,7 +62,8 @@ public class ItemTrackingItemWriterTests {
|
||||
catch (ValidationException e) {
|
||||
// expected
|
||||
}
|
||||
assertEquals(6, writer.getItems().size());
|
||||
// barf immediately if a failure is detected
|
||||
assertEquals(5, writer.getItems().size());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user