[英]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.