问题描述
我有一个Spring Boot应用程序,其中有一个休息控制器。
它从角度被调用,并立即以消息background work started
响应。
控制器还启动了以@Asynch装饰的长时间运行的服务方法,该方法将在10分钟后完成。完成服务后,它将通过前端期望的主题将Websocket推送到前端。
这使前端知道后台处理已完成,并启用了用户现在可以单击的新链接。
这大致基于https://spring.io/guides/gs/messaging-stomp-websocket/。
一些问题:
-
是否可以使用反应式编程或CompletableFuture来实现上述目标,而无需如上所述使用websocket?
-
对于Controller使用completableFuture.get()或.join()并因此等待异步服务完成有意义吗?这也不会阻止吗?
-
是否可以将反应性流用于此。我们是否可以改为以流的形式返回两个元素的列表,其中第一行是有关“后台工作已开始”的消息,第二行是“后台工作已完成”?
-
这有意义吗?有没有这样的非阻塞示例?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)