如何使用spring将并发请求发送到不同的Web服务

时间:2015-03-20 10:18:02

标签: java spring spring-mvc asynchronous

如何向不同的Web服务发送多个rest / soap请求。我的代码到目前为止按以下顺序发送请求:

 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());

        }

1 个答案:

答案 0 :(得分:0)

您可以使用Thread

Runnable run = new Runnable() {

        @Override
        public void run() {
            webservice1();
        }
    };
Thread t1 = new Thread(run).start();