0

我有一个在 Weblogic 10 上运行的 Spring Web 流应用程序。在当前应用程序中,在加载 Page A 时,我们正在进行 ajax 调用,它在后端进行 Web 服务调用 WEBSVCA。在提交同一个页面时,我们有另一个 web 服务调用被调用 WEBSVCB。应用程序要求 WEBSVCA 调用应始终在 WEBSVCB 调用开始之前进行并完成。但有时,当用户提交页面非常快时,WEBSVCA 响应还没有恢复,并且由于并发调用,对 WEBSVCB 的调用失败。

为了解决上述问题,我打算为 webservice 调用状态实现 BlockingQueue。在这种情况下,来自 WEBSVCA 的响应可以用作生产者,在调用 WEBSVCB 之前,我们可以作为消费者检查队列。

这是最好的方法还是有比这更简单的方法?

如果您需要任何其他详细信息,请告诉我。

4

1 回答 1

0

如果在 WEBSVCA 完成之前用户无法进入下一页,那么它不应该是一个 ajax 调用 - 所以你可以将它作为页面加载的一部分来做。

或者,默认禁用提交按钮,然后仅在 ajax 回调成功时启用它。

于 2013-10-16T15:25:28.767 回答