/** * Chains a given {@link List} of {@link JobListener}s into a single {@link JobListener}. The specified {@link JobListener}s * will all be executed in parallel. * * @param jobListeners is a {@link List} of {@link JobListener}s that need to be executed * * @return a {@link CloseableJobListener}, which is similar to {@link JobListener}, except * {@link CloseableJobListener#close()} will block until all {@link JobListener}s have finished their executions. */ public static CloseableJobListener parallelJobListener(List<JobListener> jobListeners) { Iterables.removeIf(jobListeners, Predicates.isNull()); return new ParallelJobListener(jobListeners); }
/** * Chains a given {@link List} of {@link JobListener}s into a single {@link JobListener}. The specified {@link JobListener}s * will all be executed in parallel. * * @param jobListeners is a {@link List} of {@link JobListener}s that need to be executed * * @return a {@link CloseableJobListener}, which is similar to {@link JobListener}, except * {@link CloseableJobListener#close()} will block until all {@link JobListener}s have finished their executions. */ public static CloseableJobListener parallelJobListener(List<JobListener> jobListeners) { Iterables.removeIf(jobListeners, Predicates.isNull()); return new ParallelJobListener(jobListeners); }