0

I have a customized item reader as shown below

    class MyReader implements ItemReader<MyBean>, ItemStream{

    SingleItemPeekableItemReader<MyBean> myBeanPeekableReader;

    public SingleItemPeekableItemReader<MyBean> getMyBeanPeekableReader() {
        return myBeanPeekableReader;
    }

    public void setMyBeanPeekableReader(
            SingleItemPeekableItemReader<MyBean> myBeanPeekableReader) {
        this.myBeanPeekableReader = myBeanPeekableReader;
    }

    @Resource
    public void caller(ItemReader<MyBean> myJdbcReader){
        myBeanPeekableReader.setDelegate(myJdbcReader);
    }


    @Override
        public void close() throws ItemStreamException {
            myBeanPeekableReader.close();
        }

        @Override
        public void open(ExecutionContext arg0) throws ItemStreamException {
            myBeanPeekableReader.open(arg0);
        }

        @Override
        public void update(ExecutionContext arg0) throws ItemStreamException {
            // TODO Auto-generated method stub

        }

Class extending JdbcCursorItemReader:

import javax.annotation.Resource;
import javax.sql.DataSource;

import org.springframework.batch.item.database.JdbcCursorItemReader;
import org.springframework.jdbc.core.PreparedStatementSetter;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Component;

@Component("myJdbcReader")
public class MyJdbcReader extends JdbcCursorItemReader<MyBean> {


    private String sql = "Select * from mytable";

    MyJdbcReader(){
        super.setSql(sql);
    }

    @Override
    @Resource
    public void setDataSource(DataSource dataSource){
        super.setDataSource(dataSource);
    }

    @Override
    @Resource
    public void setRowMapper(RowMapper myRowMapper){
        super.setRowMapper(myRowMapper);
    }

    @Override
    @Resource
    public void setPreparedStatementSetter(PreparedStatementSetter myPrepSetter){
        super.setPreparedStatementSetter(myPrepSetter);
    }

}

Even after implementing ItemStream it is throwing exception ReaderNotFound..can someone suggest where I am getting wrong.

user2971387
  • 109
  • 1
  • 3
  • 11
  • possible duplicate of [org.springframework.batch.item.ReaderNotOpenException: Reader must be open before it can be read](http://stackoverflow.com/questions/22125193/org-springframework-batch-item-readernotopenexception-reader-must-be-open-befor) – Luca Basso Ricci Mar 08 '14 at 18:15
  • Please share your XML configuration files also. How you are using them in your application? – Braj Mar 10 '14 at 04:33
  • can you post exception stack trace? – Vinay Lodha Mar 10 '14 at 09:49
  • Does this answer your question? [Spring Batch: org.springframework.batch.item.ReaderNotOpenException: Reader must be open before it can be read](https://stackoverflow.com/questions/23847661/spring-batch-org-springframework-batch-item-readernotopenexception-reader-must) – Pino Mar 27 '20 at 14:05

0 Answers0