RESTTemplate等待API响应

时间:2012-09-15 10:58:42

标签: java web-services spring api rest

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

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

2 个答案:

答案 0 :(得分:2)

您可以在单例bean中使用标志来实现此目的。在调用服务之前,请检查它是否为false。如果false设置了标记true并呼叫服务。在退出之前制作标志false

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

答案 1 :(得分:1)

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

http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html

http://docs.oracle.com/javase/6/docs/api/java/net/ServerSocket.html