Я пишу пакетное задание, которое будет вставлять N записей в базу данных.Каждая транзакция (проверьте, существует ли, вставьте, если нет, обновите, если да), обернута в команду Hystrix.Я надеюсь добавить к нему некоторый параллелизм, но некоторые вещи мне не совсем понятны.
List<Observable<Result>> observables = new ArrayList<>();
for (Item item : items) {
observables.add(new ItemCommand(item).toObservable();
}
Observable.zip(observables, results... -> {
// loop over args and collect success results
// loop over args and collect error results
}).subscribe(results -> {
// generate report based on error and successes or something
});
Мой вопрос такой - как Observable.zip взаимодействует с пулом потоков Hystrix?Например, у меня настроен пул потоков ItemCommand для 10 потоков, будет ли Observable.zip.subscribe работать только с параллелизмом 10?Или я в конечном итоге увижу сотни RejectedExecutionExceptions, поскольку Observable.zip пытается занять больше потоков, чем настроено для Hystrix?
Спасибо!