繁体   English   中英

如何使Web服务使用多个线程?

[英]How to make a Web Service be use multiple threads?

我有一个简单的java Web服务。 我想让Web服务具有线程,每次调用Web方法都有自己的线程进行处理。 处理需要很长时间,我不希望它阻止,阻止其他调用Web方法发生。 相反,我希望web方法只创建线程,并且线程本身在完成处理后响应/返回值给客户端。 那可能吗?

编辑:

这是我现在所拥有的半伪代码:

@WebService(endpointInterface="Service")
public class ServiceImpl {

    public ServiceImpl() 
    {
        // Initialization
    }

    public String GetResult(input)
    {
        // Does long processing

        return Result;
    }
}

我想做的是代替GetResult()进行长处理,我希望它只生成Runnable,它将执行长处理并让GetResult()返回并准备好为另一个请求提供服务。 我还希望Runnable响应等待的客户端。

编辑2:

我才意识到我在问一个愚蠢的问题。 我很擅长实现WS。 我原以为WS只按顺序一次请求一个请求。 我不知道每个请求是否已经自动线程化。

是的,您可以使用JMS进行异步调用。 这是最好的方式。

你也可以启动一个线程,并自己管理它们。 通常不建议这样做。 良好的线程池管理,以及跟踪哪些线程可能需要很长时间需要大量的开销代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM