I am having the following method:
public String getResult() {
List serversList = getServerListFromDB();
List ap
As already mentioned, a standard parallel stream is probably not the best fit for your use case. I would complete each task asynchronously using an ExecutorService and "join" them when calling the getResult method:
ExecutorService es = Executors.newFixedThreadPool(3);
Future> serversList = es.submit(() -> getServerListFromDB());
Future> appList = es.submit(() -> getAppListFromDB());
Future> userList = es.submit(() -> getUserFromDB());
return getResult(serversList.get(), appList.get(), userList.get());