首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用java为请求发送多个响应

如何使用java为请求发送多个响应
EN

Stack Overflow用户
提问于 2018-03-27 06:31:32
回答 3查看 5.7K关注 0票数 4

我试图在一定的时间间隔内发送来自客户端的http请求的多个响应,我使用Spring web serives,它接收来自AngularJs客户端的请求。RESTFul web服务将从客户端获取作业列表,我需要在每个作业完成后向客户端发送响应。

代码语言:javascript
复制
@PostMapping("/runExecution")
public Object sendingMultipleResponse(String input){

  for(Object obj : ListOfJobs){
    //performs business logic
    return object;
  }

}

考虑到列表中有10个作业,执行每个作业后,我需要将结果返回给请求。注意:对于AngularJs的单个请求,我需要发送多个响应。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-03-27 07:43:22

您可以在您的场景中使用WebSocketWebSocket提供服务器和客户端之间的全双工通信通道。当客户端在服务器上发送消息(在本例中为request )时,服务器将开始处理该消息,并且服务器将使用响应消息(它将是response)响应到客户端,例如发送正在处理的消息的状态或通过WebSocket发送的消息触发的作业状态。请参阅链接

票数 3
EN

Stack Overflow用户

发布于 2018-03-27 06:46:26

您可以尝试以下设计:

1)客户端向服务器发送多个作业请求

2)服务器开始处理作业,并将响应保存在某些DB中。

3)客户端在某个时间间隔从服务器提取响应,并为已完成的作业获取响应。

这不是一个完美的解决方案,因为客户端正在执行许多操作,并且需要知道什么时候停止(在所有作业完成之后),但是它很容易实现,并且降低了网络的依赖性(因为不需要保持与服务器的开放连接)。

票数 0
EN

Stack Overflow用户

发布于 2018-03-27 06:49:29

我下面的两个教程,也许他们也会帮助你。所讨论的弹簧模块是Spring反应堆 https://projectreactor.io/

https://dzone.com/articles/spring-boot-server-sent-events-tutorial

https://dzone.com/articles/reactor-core-tutorial

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49505803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档