- final List<Future<Void>> futures = executorService.invokeAll(callables, 5, TimeUnit.MINUTES);
- for (final Future<Void> future : futures) {
- try {
- future.get(4L, TimeUnit.MINUTES);
- } catch (ExecutionException | TimeoutException e) {
- throw new RuntimeException(e);
+ final List<Future<Void>> futures = executorService.invokeAll(callables, parameters.timeout, TimeUnit.MINUTES);
+ for (int i = 0; i < futures.size(); i++) {
+ Future<Void> future = futures.get(i);
+ if (future.isCancelled()) {
+ LOG.info("{}. thread timed out.", i + 1);
+ } else {
+ try {
+ future.get();
+ } catch (final ExecutionException e) {
+ LOG.info("{}. thread failed.", i + 1, e);
+ }