如何在Spring Boot中通知特定线程

时间:2018-12-17 18:32:48

标签: java spring multithreading spring-boot asynchronous-postback

我有一个在Spring Boot中定义的REST服务,该服务公开了一个同步REST API,供用户从基于Web的UI调用。该服务有望提供实时响应。

该服务以异步方式与外部端点对话。那是: -请求的单向出站消息 -用于响应的单向入站消息

如何结合使用这两种消息来提供对同步行为的印象?我正在考虑以下几种方法:

  • 其余服务将请求发布到端点。端点响应后,响应将添加到ConcurrentHashMap。 REST服务每隔几毫秒查询一次HashMap,一旦找到正确的响应,它将以有效的HTTP原因码退出。 这类似于投票,我在想是否可以避免这种情况。

  • 其余服务将请求发布到端点。端点响应后,将通知Rest Service中的等待线程。但是,仅当收到正确的响应(即匹配的相关ID等)时,等待线程才应结束。 这可能吗?

我意识到这类似于JMS队列请求响应场景,在该场景中,每个JMS队列请求都使用消息选择器条件在响应队列上打开侦听器。 但是在这种情况下,我必须使用HTTP来实现。

对此表示欢迎。我完全相信我缺少非常基本的东西,但不确定是什么。

非常感谢!

0 个答案:

没有答案