我正在将内容流式传输到我的休息端点,并且我已经将其实现为ServerResource。消耗传入流不是问题,但在处理输入时,我确实想开始向客户端反馈信息。然而,我认为这不能从ServerResource中完成,因为这需要我实际返回一个表示(随后我将中止从输入流中读取)。
在这种情况下,建议采用什么方法?使用原始Restlet并用handle方法处理它?人们是如何解决这一问题的?
显然,使用"原始"HttpServlet可以很容易地完成,但我希望能够全面使用restlet。
虽然不是最干净的选项,但可以让客户端打开与服务器的第二个连接,请求提供内容。服务器将不得不保持连接打开,直到它有数据开始发回,但最终会得到相同的结果。这是一种解决问题的"长轮询"方法,从架构上讲,只是将写与读分离。
可能有更好的方法来实现这一点,但我倾向于一开始就采用快速解决方案,然后在需要时再使用它(即,如果在某些方面存在问题,如可维护性或性能)