Завершенное будущее. - несколько звонков айсн c параллельно - PullRequest
0 голосов
/ 08 мая 2020

Я использую Spring, и мой метод контроллера возвращает объект, например:

Class WrapperObject{
  public TypeA typeA;
  public TypeB typeB;
  public TypeC typeC;
  public TypeD typeD;
  public TypeE typeE;

  public List<String> errors;
}

У меня есть классы обслуживания, которые возвращают

 @Async
    CompletableFuture<TypeA> getTypeA() throws ExceptionA{
       // Webservice call :: 4-5 seconds
    }
     @Async
    CompletableFuture<TypeB> getTypeB()  throws ExceptionB{
      // Webservice call :: 2-3 seconds
    }
     @Async
    CompletableFuture<TypeC> getTypeC()  throws ExceptionC{
      // Webservice call :: 4-5 seconds
    }
     @Async
    CompletableFuture<TypeD> getTypeD()  throws ExceptionD{
     //  Webservice call :: 1-2 seconds
    }

     @Async
    CompletableFuture<TypeE> getTypeE()  throws ExceptionE{
     // Webservice call :: 7-8 seconds
    }

Я хочу вызвать все вышеперечисленные методы параллельно и установите результат каждого метода в объекте Wrapper, как только они вернутся, и если для какой-либо службы возникнет исключение, добавьте сообщение об исключении в список ошибок и продолжите с другими Futueres. для обработки исключений. Пожалуйста помоги. Меня смущает, .thenAccept (), .get (), .handle (result, exp)

...