package org.springframework.issues; import org.springframework.beans.factory.InitializingBean; import java.util.concurrent.CompletableFuture; import java.util.stream.IntStream; public class Foo implements InitializingBean { private final Bar bar; public Foo(Bar bar) { this.bar = bar; } public Bar getBar() { return this.bar; } @Override public void afterPropertiesSet() throws Exception { CompletableFuture.allOf(IntStream.range(1, Runtime.getRuntime().availableProcessors() + 1) .mapToObj((index) -> CompletableFuture.runAsync(() -> bar.doWork(index))) .toArray(CompletableFuture[]::new)) .get(); } }