Spring批处理阅读器 - 如何避免返回对象列表

时间:2017-03-08 22:31:11

标签: spring spring-batch

所以我有一个春季批处理应用程序,我已经获得了一个id列表,然后使用' read()'以获得1对多的结果。问题是,我无法控制每个id获得多少结果,这意味着我的组块充其量只是参差不齐。是否有建议的方法来避免内存/ CPU中的峰值?一个例子如下:

@Before
public void getIds() {
    *getListOfIds* //Usually around 10,000 or so
}

@Override
public AccountObject read() {
    if(list of ids havent all been used) {
        List<AccountObject> myAccounts = myService.getAccounts(id);
        return myAccounts; //This could be anywhere from 1 result to 100,000 results.
    } else {
        return null;
    }
}

因此上面的myAccounts对象可能很小或很大。这导致分块基本上没用,因为此刻我正在按List分块。我真的很喜欢直接使用AccountObject,但是看不到一个简单的方法。

我在这里缺少课程,策略等吗?

0 个答案:

没有答案
相关问题