Java许多线程与许多线程关系

时间:2013-03-05 17:34:47

标签: java multithreading synchronization thread-safety gateway

我有一个服务从许多客户端获取请求,并在一些处理后向客户端发送响应。我使用ThreadPoolExecutor(threadExecuterClient)来处理客户端请求并将它们放在BlockingQueue(requestQueue)中。许多客户端可以发送并发请求。我有另一个ThreadPoolExecutor(threadExecuterServer)处理requestQueue中的请求。此处理基本上包括将该请求发送到服务器并获得响应。处理完毕后,我需要将响应发送给发出该请求的客户端。我很难跟踪哪个客户端提出了哪个请求。我基本上需要找到一种方法将客户端请求映射到处理结果。该服务将像一个网关。

非常感谢处理此问题的任何想法。

由于

1 个答案:

答案 0 :(得分:0)

我假设您的服务通过HTTP接受请求?接受来自您服务的请求并发回HTTP 202响应。此响应表示请求已被接受进行处理。发送响应时,发送位置标头以告知客户端要调用的URL以确定您的请求的状态。客户端可以轮询此URL以获取状态和结果。

网址应包含每个请求的唯一ID。您的服务器可以跟踪它并在响应准备好时填充响应。