微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 如何只运行一次Spring()的read()函数

我正在使用以下xml创建一个Spring Batch作业:

tasklet transaction-manager="transactionManager">
            tasklet>
    sstransactionManager" />

cope="step">
    

这是我的读者课程:

private String URL;

public String getURL() {
    return URL;
}

public void setURL(String uRL) {
    URL = uRL;
}

public ArrayList

但读者班继续运行.我怎么在第一次运行时停止?

我试过这个:

public StockData read() throws Exception,");

    for(int i=0; i < splitStocks.length;i++)
    {  
           return stockReader.getStockData(splitStocks[i]);
    }

    return null;
}  

read()函数进入循环..

最佳答案
这个简单的委托封装了一次性读取.

class OneItemReader

你可以创建自己的读者,而不必考虑一次性阅读,并使用这个小代表包装它.

您的StockURLReader可以定义为

class StockURLReader implements ItemReader

创建OneTimeReader并将StockURLReader设置为委托,并且您从一次性读取逻辑中获得单独的StockData读数.
如果要读取一组StockData,最佳解决方案是创建一个StockDataListBean,您可以在其中存储从拆分URL读取的所有StockData.

class StockDataListBean {
  List

并将StockURLReader修改为:

class StockURLReader implements ItemReader

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐