【问题标题】:How to send concurrent requests to different webservices using spring如何使用spring向不同的Web服务发送并发请求
【发布时间】:2015-03-20 10:18:02
【问题描述】:

如何向不同的 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());

        }

【问题讨论】:

    标签: java spring spring-mvc asynchronous


    【解决方案1】:

    你可以使用Thread

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

    【讨论】:

    • Spring/Spring-MVC 有没有特定的特性可以帮助?
    • 可以查看spring @async anno task
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多