# The happy path: 60 rows in, 58 products out $ java -jar target/spring-batch-1.0.0.jar --spring.profiles.active=clean \ --import.file=file:scenario-data/clean-demo/input.csv \ --spring.datasource.url=jdbc:h2:file:.../scenario-data/clean-demo/db 2026-09-13T06:23:05.509Z INFO 5242 --- [ main] o.s.batch.core.step.AbstractStep : Executing step: [importStep] 2026-09-13T06:23:05.530Z WARN 5242 --- [ main] c.a.b.p.ProductValidatingProcessor : filtering abc-0012: does not match ^[A-Z]{3}-\d{4}$ 2026-09-13T06:23:05.543Z WARN 5242 --- [ main] c.a.b.p.ProductValidatingProcessor : filtering ABC-0033: priceCents must be positive, was 0 2026-09-13T06:23:05.570Z INFO 5242 --- [ main] o.s.batch.core.step.AbstractStep : Step: [importStep] executed in 61ms 2026-09-13T06:23:05.590Z INFO 5242 --- [ main] o.s.batch.core.step.AbstractStep : Executing step: [reportStep] REPORT: 58 products now in the PRODUCT table 2026-09-13T06:23:05.600Z INFO 5242 --- [ main] o.s.batch.core.step.AbstractStep : Step: [reportStep] executed in 13ms JOB FINISHED: status=COMPLETED exitCode=COMPLETED $ SELECT read_count, filter_count, write_count, commit_count FROM BATCH_STEP_EXECUTION; READ_COUNT | FILTER_COUNT | WRITE_COUNT | COMMIT_COUNT 60 | 2 | 58 | 6 (1 row, 21 ms)