代码之家  ›  专栏  ›  技术社区  ›  David Leonardo Crespín

如何使用ExecutorService调用Web服务[已关闭]

  •  -1
  • David Leonardo Crespín  · 技术社区  · 10 年前

    我想知道在java应用程序中使用ExecutorService使用Web服务的正确方式,我认为Web服务调用应该是并行的,并且应该是队列的,但我不知道该怎么做。

    3 回复  |  直到 10 年前
        1
  •  0
  •   Solomon Slow    10 年前

    假设您有ExecutorService:

    final ExecutorService executorService = constructAnAppropriateExecutorService();
    

    做这样的事?

    Future<Result> future = executorService.submit(new Callable<>() {
        @Override
        Result call() {
            return performSynchronousWebServiceCall(...);
        }
    });
    doSomethingElseForAWhile(...);
    Result result = future.get();
    
        2
  •  0
  •   JeffreyH    10 年前

    ExecutorService与Web服务无关。ExecutorService只调度任务并执行它们。在您的情况下,您提交的任务将消耗某个Web服务,但它可能会像做一些计算之类的。就像评论中建议的那样,你可以使用java.net。URL,javax.xml.ws。服务或任何其他API。

        3
  •  0
  •   JeffreyH    10 年前

    这绝对与ExecutorService无关。看起来Java无法访问WSDL。你能用curl或任何web浏览器访问给定的URL吗? 也许你应该考虑在一个单独的(更有意义的)问题中寻求帮助。