ExecutorServicve.invokeAll () не входит в Call () - PullRequest
0 голосов
/ 29 ноября 2018

Встреча в странной ситуации.Когда я локально отлаживаю свой проект, в модульных тестах того же проекта ExecutorService invokeAll правильно переходит в метод call ().

Однако, когда я тестирую свой проект как часть более крупного проекта (мой проект включается какjar - я трижды проверил, что зависимость выполняет последний код), exectorService.invokeAll (Tasks) не входит в call ().Вот пример кода:

public class ReaderWithBusinessRulesImpl implements Callable<List<FsDealWrapper>> {

@Override
public List<FsDealWrapper> call() throws Exception{
    return read(deals, context, cobFrom, cobTo);
}

Класс, который выполняет эти Runnable задачи

final List<ReaderWithBusinessRulesImpl> tasks = Lists.newArrayList();
    for (List<FsDeal> dealsChunk : Lists.partition(req.getDeals(), readSize)) {
        tasks.add(new ReaderWithBusinessRulesImpl(fsDao, dealRequestsGenerator, dealsChunk, req.getContext(), cobFrom, cobTo));
    }
    try {
        for (Future<List<FsDealWrapper>> results : service.invokeAll(tasks)) {

Эта последняя строка (выше) только правильно входит в метод call () при локальном выполнении, ноне в другом проекте.

Любой совет, пожалуйста?

1 Ответ

0 голосов
/ 29 ноября 2018

Сейчас работает.Ранее я не помечал свой метод call () аннотацией @Override.Включение @Override теперь дает мне то, что я ожидал.

...