0
我有一個服務器可以通過長期HTTP響應來傳輸各種東西,如日誌輸出。但是,在使用Jetty的代理Servlet時,我無法獲得流式傳輸響應(它會在發送前緩存整個響應)。使用Jetty流式傳輸HTTP響應AsyncProxyServlet
使用覆蓋一個普通ProxyServlet
類,下面似乎工作:
@Override
protected void onResponseContent(HttpServletRequest request, HttpServletResponse response, Response proxyResponse, byte[] buffer, int offset, int length, Callback callback) {
super.onResponseContent(request, response, proxyResponse, buffer, offset, length, callback);
try {
response.getOutputStream().flush();
} catch (IOException e) {
log.warn("Error flushing", e);
}
}
然而,這樣做,覆蓋當AsyncProxyServlet
不起作用。 (完整的源代碼here)
於是,兩個問題:
- 當使用
ProxyServlet
後的內容每一位收到要走的路,正在清除? - 有沒有辦法讓它與
AsyncProxyServlet
一起使用?