Как отправлять параллельные запросы на разные веб-сервисы с помощью Spring

1

Как отправить несколько запросов на отдых/мыло в различные веб-службы. мой код до сих пор отправляет запросы в следующем порядке:

 webservice1(); //restful
 webservice2(); //soap
 webservice3(); //soap
 webservice4();//soap
 webservice5();//restful
 webservice6();//soap
 webservice7();//restful

Как показано выше, он вызывает методы соответственно, поэтому сначала webservice1 отправляет свой запрос, получает его ответ, тогда webservice 2 сможет делать то же самое так далее.

Мне нужно знать, как заставить их отправлять свои запросы сразу и в зависимости от того, какой из полученных ответов ответит, что это в его соответствующем объекте.

Один из методов

  public void webservice1(){
     RestTemplate restTemplate = new RestTemplate();
                Map<String, String> vars = new HashMap<String, String>();
                vars.put("user", "username");
                vars.put("key", "password");
                vars.put("fl", "po");
                AvailabilityResponse flightResults = restTemplate
                        .getForObject(
                                "http://example.com/availabilityRequest?user={user}&key={key}&fl_type={fl}",
                                AvailabilityResponse.class, vars);
                System.err.println(">>"
                        + flightResults.getFlightList().get(0).getFlightOptions()
                                .getFlightOption().size());

        }
Теги:
spring
spring-mvc
asynchronous

1 ответ

0

Вы можете просто использовать Thread

Runnable run = new Runnable() {

        @Override
        public void run() {
            webservice1();
        }
    };
Thread t1 = new Thread(run).start();
  • 0
    Есть ли какая-то особенность Spring / Spring-MVC, чтобы помочь?
  • 1
    Вы можете проверить весеннее задание @async anno

Ещё вопросы

Сообщество Overcoder
Наверх
Меню