今天我有一个理论上的问题(我只是找不到一种方法来编写示例代码)。
我的系统架构是这样的:Client <--> Web Service1 <--> query <--> Web Service2 <--> Server。
我不能更改它,因为我的公司需要它是独立的。
问题出在同步上当client向WebService1发送请求时,WS1将一个对象放入查询中,WS2一直在监视查询并检查是否有新的东西,如果是,它会向Server发送一个请求,后者处理该请求并给出一个适当的响应,该响应必须返回给Client。
对于所有请求,Server的处理时间并不相等。我必须从客户端获得请求,并在一个会话中发送一个请求。Thread.sleep或任何一种停止执行代码的方法都是不可接受的。
有没有人能给我一个提示,我应该用什么?
发布于 2012-11-23 20:36:36
好吧,让我们忘记队列和服务器之间的通信。
Thread.sleep是一种解决方案。客户端应该等待多长时间?这取决于:
服务器2中的
进程读取队列寻找来自服务器2的应答
所以,你可以使用一个循环:
但是,你不能让客户端等待太久,你可以这样做:
我认为你应该重新考虑停止代码执行,因为在你从队列中得到答案之前,没有代码可以执行。无论如何,请参阅此question以了解线程睡眠替代方案。
https://stackoverflow.com/questions/13525122
复制相似问题