Java RESTTemplate正在等待API响应

Java RESTTemplate正在等待API响应,java,web-services,spring,api,rest,Java,Web Services,Spring,Api,Rest,在我的Spring应用程序中,我使用RESTTemplate从外部API获取一些信息。这个API要求当您发出请求时,必须等待它的响应,直到您发出另一个请求。这就是为什么我想知道如何做到这一点。当然不能使用计时器或类似的东西,因为每次来自这个API的响应时间都是不同的 不幸的是,此应用程序需要RESTTemplate,我无法更改它。通常,您在发出请求时应该等待响应,但您可以打开一个正在侦听传入数据的服务器套接字,当您收到响应时,请检查它是哪种响应,然后接受或拒绝它。因此,您可以使用客户端套接字发出

在我的Spring应用程序中,我使用RESTTemplate从外部API获取一些信息。这个API要求当您发出请求时,必须等待它的响应,直到您发出另一个请求。这就是为什么我想知道如何做到这一点。当然不能使用计时器或类似的东西,因为每次来自这个API的响应时间都是不同的


不幸的是,此应用程序需要RESTTemplate,我无法更改它。

通常,您在发出请求时应该等待响应,但您可以打开一个正在侦听传入数据的服务器套接字,当您收到响应时,请检查它是哪种响应,然后接受或拒绝它。因此,您可以使用客户端套接字发出请求,并使用服务器套接字接收响应


您可以在单例bean中使用标志来实现这一点。调用服务之前,请检查它是否为
false
。如果
false
设置标志
true
并呼叫服务。退出前,将标志设置为“假”


因此,当
flag==true
服务正在进行时,您可以发出新请求。

我真的不明白如何仅使用布尔值连接到外部api…@JonathanCruz,因为他使用的是RESTTemplate,对外部api的调用类似于
String result=RESTTemplate.getForObject(“…
他希望在进行另一个用户可以触发的调用之前确保没有挂起的请求。因此,只需检查某个静态类中设置的标志,在调用之前设置标志,并在调用之后清除。因此,在调用api之前,如果他发现该标志为真,他可以要求用户稍后重试。