如何在java中等待来自其他服务器的响应

如何在java中等待来自其他服务器的响应,java,servlets,web-applications,integration,Java,Servlets,Web Applications,Integration,我将要与其他服务器通信,以获取Java Gwt web应用程序中所需的数据。我需要根据服务器的响应执行一些功能。以下是双方之间的通信流程。 1) 我正在使用所需的输入参数从servlet向其他服务器发送请求。 2) 根据我发送的请求,其他服务器将给出响应。 3) 在发送响应之前,其他服务器将进行一些繁重的处理。因此可能需要一些时间。 4) 但在我这边,我应该等待那个服务器的回复,否则我就不能继续了 问题: a) 如何等待来自其他服务器的响应?有时,如果需要更多的时间来获得响应,它会给出HTTP错

我将要与其他服务器通信,以获取Java Gwt web应用程序中所需的数据。我需要根据服务器的响应执行一些功能。以下是双方之间的通信流程。 1) 我正在使用所需的输入参数从servlet向其他服务器发送请求。 2) 根据我发送的请求,其他服务器将给出响应。 3) 在发送响应之前,其他服务器将进行一些繁重的处理。因此可能需要一些时间。 4) 但在我这边,我应该等待那个服务器的回复,否则我就不能继续了

问题:
a) 如何等待来自其他服务器的响应?有时,如果需要更多的时间来获得响应,它会给出HTTP错误。

在我个人看来,最好的方法是确保您的UI在等待响应时不会被阻塞。最流行的解决方案之一是将请求委托给
消息驱动Bean
,以避免阻塞UI。然后UI就可以做其他事情了。一旦
消息bean
处理了请求,它就可以发送回调。实现回调的方式取决于您最喜欢的方式。很多时候,回调不是发送给另一个bean,而是发送给附加到此类请求的用户或用户组

听起来你需要花些时间来学习JMS@gerrytan,我不知道JMS,我可以知道,这是解决我的问题的唯一方法吗?您正在使用GWT RPC吗?异步回调有什么问题?当然没有。但这是一个很好的解决方案。我很惊讶,gwt客户端可以重新发送JMS消息。感谢@gerrytan!我想,任何其他的解决方案都将通过其他方式实现JMS范式。不需要在两台服务器之间进行通信。