我有一个在Spring Boot中定义的REST服务,该服务公开了一个同步REST API,供用户从基于Web的UI调用。该服务有望提供实时响应。
该服务以异步方式与外部端点对话。那是: -请求的单向出站消息 -用于响应的单向入站消息
如何结合使用这两种消息来提供对同步行为的印象?我正在考虑以下几种方法:
其余服务将请求发布到端点。端点响应后,响应将添加到ConcurrentHashMap。 REST服务每隔几毫秒查询一次HashMap,一旦找到正确的响应,它将以有效的HTTP原因码退出。 这类似于投票,我在想是否可以避免这种情况。
其余服务将请求发布到端点。端点响应后,将通知Rest Service中的等待线程。但是,仅当收到正确的响应(即匹配的相关ID等)时,等待线程才应结束。 这可能吗?
我意识到这类似于JMS队列请求响应场景,在该场景中,每个JMS队列请求都使用消息选择器条件在响应队列上打开侦听器。 但是在这种情况下,我必须使用HTTP来实现。
对此表示欢迎。我完全相信我缺少非常基本的东西,但不确定是什么。
非常感谢!