private static boolean pollQueue(final MessageQueue queue, final OutputStream stream, final HttpServletResponse httpServletResponse) throws IOException { if (queue == null) return false; queue.heartBeat(); httpServletResponse.setHeader("Cache-Control", "no-cache"); httpServletResponse.setHeader("Pragma", "no-cache"); httpServletResponse.setHeader("Expires", "-1"); httpServletResponse.setContentType("application/json"); return queue.poll(new OutputStreamWriteAdapter(stream)); }
@Override public void activate(final MessageQueue queue) { try { queue.poll(new OutputStreamWriteAdapter(asyncContext.getResponse().getOutputStream())); queue.setActivationCallback(null); queue.heartBeat(); } catch (IOException e) { log.debug("Closing queue with id: " + queue.getSession().getSessionId() + " due to IOException", e); } catch (final Throwable t) { try { writeExceptionToOutputStream((HttpServletResponse) asyncContext.getResponse(), t); } catch (Throwable t2) { log.debug("Failed to write exception to dead client", t2); } } finally { asyncContext.complete(); } } });
private static boolean pollQueue(final MessageQueue queue, final OutputStream stream, final HttpServletResponse httpServletResponse) throws IOException { if (queue == null) return false; queue.heartBeat(); httpServletResponse.setHeader("Cache-Control", "no-cache"); httpServletResponse.setHeader("Pragma", "no-cache"); httpServletResponse.setHeader("Expires", "-1"); httpServletResponse.setContentType("application/json"); return queue.poll(new OutputStreamWriteAdapter(stream)); }
queue.heartBeat();
@Override public void activate(final MessageQueue queue) { try { queue.poll(new OutputStreamWriteAdapter(asyncContext.getResponse().getOutputStream())); queue.setActivationCallback(null); queue.heartBeat(); } catch (IOException e) { log.debug("Closing queue with id: " + queue.getSession().getSessionId() + " due to IOException", e); } catch (final Throwable t) { try { writeExceptionToOutputStream((HttpServletResponse) asyncContext.getResponse(), t); } catch (Throwable t2) { log.debug("Failed to write exception to dead client", t2); } } finally { asyncContext.complete(); } } });
queue.heartBeat();