Я создал пул потоков из 100 потоков и вызвал три асинхронных вызова.Как я могу издеваться над асинхронными вызовами, которые возвращают объекты, подобные следующим, при написании модульных тестов:
LocationDetail(finalUserInformation, placeInformation)
pgData(finalUserInformation, pgInformation)
userContactData(finalUserInformation, userContactList)
ExecutorService service = Executors.newFixedThreadPool(100);
Set<Callable<String>> callables = new HashSet<Callable<String>>();
UserInformation finalUserInformation = userInformation;
callables.add(new Callable<String>() {
@Override
public String call() throws JsonProcessingException {
return LocationDetail(finalUserInformation,placeInformation);
}});
callables.add(new Callable<String>() {
@Override
public String call() throws JsonProcessingException {
return pgData(finalUserInformation,pgInformation);
}});
callables.add(new Callable<String>() {
@Override
public String call() throws JsonProcessingException {
return usercontactData(finalUserInformation,userContactList);
}});
try {
List<Future<String>> futures = service.invokeAll(callables);
for (Future<String> future : futures) {
System.out.println(future.get());
}
} catch (Exception e) {
System.out.println(e);
}