我創建我的自定義ItemReader:如何初始化自定義ItemReader?
@Component("pricereader")
public class MyItemReader implements ItemReader<Price>{
@Override
public Price read() throws Exception, UnexpectedInputException, ParseException,
NonTransientResourceException {
// TODO Auto-generated method stub
return null;
}
}
在這樣定義的作業調用它:
<batch:job id="job1">
<batch:step id="step1">
<batch:tasklet>
<batch:chunk reader="pricereader" processor="priceprocessor" writer="pricewriter" commit-interval="1"/>
</batch:tasklet>
</batch:step>
</batch:job>
這itemReader必須從外部文件解析數據。 我能想到的是這樣的:
private Scanner scanner;
public MyItemReader(String filepath){
//initializing scanner
}
無論如何,我發現,構造函數被調用春初始化,我不喜歡保持在內存中的開放連接到文件的想法。 此外,我想使用這個ItemReader從多個文件中讀取數據,所以在構造函數中添加這些信息並不是很好......任何想法?
這是現貨!看着'FlatFileItemReader'的代碼,我能夠實現一個自定義的閱讀器,從'AbstractItemCountingItemStreamItemReader'進行插入操作,這將我自己的代碼的複雜性降低到最低限度。 – oschlueter