Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java为请求发送多个响应_Java_Spring Boot - Fatal编程技术网

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

如何使用java为请求发送多个响应,java,spring-boot,Java,Spring Boot,我试图在一定的时间间隔内发送多个来自客户端的http请求响应。我使用的是Spring Boot RESTful web serives,它接收来自AngularJs客户端的请求。RESTfulWeb服务将从客户端获取作业列表,我需要在每个作业完成后向客户端发送响应 @PostMapping("/runExecution") public Object sendingMultipleResponse(String input){ for(Object obj : ListOfJobs){

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

@PostMapping("/runExecution")
public Object sendingMultipleResponse(String input){

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

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

您可以尝试以下设计:
1) 客户端向服务器发送多个作业请求
2) 服务器开始处理作业,并将响应保存在一些数据库中
3) 客户机每隔一段时间从服务器获取响应,并获取已完成作业的响应


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

我下面介绍两个教程,也许它们也会对您有所帮助。 有问题的弹簧模块是 弹簧反应器


您可以在您的场景中使用
WebSocket
WebSocket
提供服务器和客户端之间的全双工通信通道。 当客户机在服务器上发送消息(在本例中为
请求
)时,服务器将开始处理该消息,服务器将用响应消息响应客户机(将是
响应
)类似于正在处理的消息的发送状态或通过
WebSocket发送的消息触发的作业状态。

有关基于事件的结构,请参见

您的需要。当一个事件(一个作业被处理)将响应推送到客户端时。为什么不使用JSON?通过使用JSON,您可以从服务器向客户端传递尽可能多的响应。感谢您的快速响应!我如何实现基于事件的结构?你能详细说明一下吗?谢谢Rohan J Mohite!当返回对象是JSON时,如何发送多个响应?我相信,当您的作业完成时,您可能必须使用WebSocket启动从服务器到特定客户机的通信,检查HTTP请求是否在服务器发送响应后结束。