diff --git a/spring-batch-samples/src/main/resources/data/restartFileSample/input/restartFile.csv b/spring-batch-samples/src/main/resources/data/restartFileSample/input/restartFile.csv
new file mode 100644
index 000000000..8be0f6b83
--- /dev/null
+++ b/spring-batch-samples/src/main/resources/data/restartFileSample/input/restartFile.csv
@@ -0,0 +1,20 @@
+customer1,10
+customer2,20
+customer3,30
+customer4,40
+customer5,50
+customer6,60
+customer7,70
+customer8,80
+customer9,90
+customer10,100
+customer11,110
+customer12,120
+customer13,130
+customer14,140
+customer15,150
+customer16,160
+customer17,170
+customer18,180
+customer19,190
+customer20,200
diff --git a/spring-batch-samples/src/main/resources/jobs/restartFileSampleJob.xml b/spring-batch-samples/src/main/resources/jobs/restartFileSampleJob.xml
new file mode 100644
index 000000000..3763743ed
--- /dev/null
+++ b/spring-batch-samples/src/main/resources/jobs/restartFileSampleJob.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/sample/RestartFileSampleFunctionalTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/sample/RestartFileSampleFunctionalTests.java
new file mode 100644
index 000000000..1bf4c259c
--- /dev/null
+++ b/spring-batch-samples/src/test/java/org/springframework/batch/sample/RestartFileSampleFunctionalTests.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2006-2007 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.springframework.batch.sample;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.List;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.batch.core.BatchStatus;
+import org.springframework.batch.core.JobExecution;
+import org.springframework.batch.core.JobParameters;
+import org.springframework.batch.item.file.FlatFileItemWriter;
+import org.springframework.batch.sample.domain.trade.CustomerCredit;
+import org.springframework.batch.test.AbstractJobTests;
+import org.springframework.batch.test.AssertFile;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.Resource;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+/**
+ * @author Dan Garrette
+ * @since 2.0
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "/simple-job-launcher-context.xml", "/jobs/restartFileSampleJob.xml" })
+public class RestartFileSampleFunctionalTests extends AbstractJobTests {
+
+ @Autowired
+ private Resource outputResource;
+
+ @Test
+ public void runTest() throws Exception {
+ JobParameters jobParameters = getUniqueJobParameters();
+
+ JobExecution je1 = this.launchJob(jobParameters);
+ assertEquals(BatchStatus.FAILED, je1.getStatus());
+ AssertFile.assertLineCount(10, outputResource);
+
+ JobExecution je2 = this.launchJob(jobParameters);
+ assertEquals(BatchStatus.COMPLETED, je2.getStatus());
+// AssertFile.assertLineCount(20, outputResource);
+ }
+
+ public static class CustomerCreditFlatFileItemWriter extends FlatFileItemWriter {
+
+ private boolean failed = false;
+
+ @Override
+ public void write(List extends CustomerCredit> arg0) throws Exception {
+ for (CustomerCredit cc : arg0) {
+ if (!failed && cc.getName().equals("customer13")) {
+ failed = true;
+ throw new RuntimeException();
+ }
+ }
+ super.write(arg0);
+ }
+
+ }
+
+}
\ No newline at end of file