gpt4 book ai didi

java - 如何在java-spring应用程序中并行调用多个soap调用

转载 作者:行者123 更新时间:2023-12-02 09:22:24 24 4
gpt4 key购买 nike

我想让我的soap请求在java中并行调用。我是多线程新手,不知道如何做到这一点。

public List<TB600Model.Response> getTableDesc(final List<TB600Model.Request> requests)  
{
List<TB600Model.Response> responses = new ArrayList<>();
for (TB600Model.Request request : requests)
{
responses.add(
this.modifyDescription(
this.getDescription(
request.getSite()
,request.getDescType()
,request.getKeyData()
,request.getEffMdy()
)
,request.getDescType()
,request.getKeyData()
)
);
}
return responses;
}

enter image description here

最佳答案

对于 Java 8+ 尝试使用此方法:

requests.parallelStream().forEach(request -> {...});

放置response.add的代码而不是...

对于早期版本:

ExecutorService es = Executors.newFixedThreadPool(10);
List<Response> responses = new ArrayList<>();
for(Request request: requests){
Future<Response> future = es.submit(new Callable<Response>() {
@Override
public Response call() throws Exception {
//create your response here and return
}
});

try {
responses.add(future.get());
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}

关于java - 如何在java-spring应用程序中并行调用多个soap调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58601553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com