private void flushMessages(final ChannelHandlerContext ctx) { final List<String> allMessages = getSockJsSession().getAllMessages(); if (allMessages.isEmpty()) { return; } final MessageFrame messageFrame = new MessageFrame(allMessages); ctx.channel().writeAndFlush(messageFrame).addListener(new ChannelFutureListener() { @Override public void operationComplete(final ChannelFuture future) throws Exception { if (!future.isSuccess()) { final SockJsSession sockJsSession = getSockJsSession(); for (String msg : allMessages) { sockJsSession.addMessage(msg); } } } }).addListener(ChannelFutureListener.CLOSE); }
private void flushMessages(final ChannelHandlerContext ctx) { final List<String> allMessages = getSockJsSession().getAllMessages(); if (allMessages.isEmpty()) { return; } final MessageFrame messageFrame = new MessageFrame(allMessages); ctx.channel().writeAndFlush(messageFrame).addListener(new ChannelFutureListener() { @Override public void operationComplete(final ChannelFuture future) throws Exception { if (!future.isSuccess()) { final SockJsSession sockJsSession = getSockJsSession(); for (String msg : allMessages) { sockJsSession.addMessage(msg); } } } }).addListener(ChannelFutureListener.CLOSE); }
private void flushMessages() { final Channel channel = getSockJsSession().connectionContext().channel(); if (channel.isActive() && channel.isRegistered()) { final List<String> allMessages = getSockJsSession().getAllMessages(); if (allMessages.isEmpty()) { return; } final MessageFrame messageFrame = new MessageFrame(allMessages); logger.debug("flushing [{}]", messageFrame); channel.writeAndFlush(messageFrame).addListener(new ChannelFutureListener() { @Override public void operationComplete(final ChannelFuture future) throws Exception { if (!future.isSuccess()) { final SockJsSession sockJsSession = getSockJsSession(); for (String msg : allMessages) { sockJsSession.addMessage(msg); } } } }); } }
private void flushMessages() { final Channel channel = getSockJsSession().connectionContext().channel(); if (channel.isActive() && channel.isRegistered()) { final List<String> allMessages = getSockJsSession().getAllMessages(); if (allMessages.isEmpty()) { return; } final MessageFrame messageFrame = new MessageFrame(allMessages); logger.debug("flushing [{}]", messageFrame); channel.writeAndFlush(messageFrame).addListener(new ChannelFutureListener() { @Override public void operationComplete(final ChannelFuture future) throws Exception { if (!future.isSuccess()) { final SockJsSession sockJsSession = getSockJsSession(); for (String msg : allMessages) { sockJsSession.addMessage(msg); } } } }); } }