有点困难的一个异步通讯架构的设计问题
浏览器<-->服务端<-->第三方服务得到数据
我的服务端是用的struts的action
action目前是通过axis2连接第三方的一个webservice,同步取数据,也就是发一个请求,对方返回数据。
但是这个结构有个问题,当多用户访问时,webservice请求和响应会排队执行,也就是排在后面的可能链接超时!
所以,要把axis2改成异步通讯的方式,以优化性能。
这时候问题就出来了,怎么让action 停止运行,直到该请求的对应数据返回来。才接着执行下去,返回结果给我的客户端。
不能用while轮询状态值得方法吧--会让cpu 100%。
谁有比较好的方法?