/** * */ package com.oreilly.springdata.batch.item; import javax.sql.DataSource; import org.springframework.batch.core.listener.SkipListenerSupport; import org.springframework.batch.item.file.FlatFileParseException; import org.springframework.batch.item.file.MultiResourceItemReader; import org.springframework.jdbc.core.JdbcTemplate; /** * @author acogoluegnes * */ public class DatabaseSkipListener extends SkipListenerSupport { private JdbcTemplate jdbcTemplate; private MultiResourceItemReader multiResourceItemReader; public DatabaseSkipListener(DataSource datasource) { this.jdbcTemplate = new JdbcTemplate(datasource); //this.multiResourceItemReader = reader; } @Override public void onSkipInRead(Throwable t) { if(t instanceof FlatFileParseException) { FlatFileParseException ffpe = (FlatFileParseException) t; jdbcTemplate.update( "insert into skipped_product (line,line_number) values (?,?)", ffpe.getInput(),ffpe.getLineNumber() //multiResourceItemReader.getCurrentResource().getFilename(), ffpe.getInput(),ffpe.getLineNumber() ); } } }