@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);
@Override public ChannelHandlerContext getSendingContext() { final ChannelHandlerContext openContext = getSockJsSession().openContext(); return openContext == null ? getSockJsSession().connectionContext() : openContext; }
@Override public ChannelHandlerContext getSendingContext() { final ChannelHandlerContext openContext = getSockJsSession().openContext(); return openContext == null ? getSockJsSession().connectionContext() : openContext; }
@Override public boolean isInUse() { return getSockJsSession().connectionContext().channel().isActive() || getSockJsSession().inuse(); }
@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);
@Override public boolean isInUse() { return getSockJsSession().connectionContext().channel().isActive() || getSockJsSession().inuse(); }
@Override public void onSockJSServerInitiatedClose() { final ChannelHandlerContext context = getSockJsSession().connectionContext(); if (context != null) { //could be null if the request is aborted, for example due to missing callback. if (logger.isDebugEnabled()) { logger.debug("Will close session connectionContext {}", getSockJsSession().connectionContext()); } context.close(); } sessions.remove(getSockJsSession().sessionId()); }
@Override public void onSockJSServerInitiatedClose() { final ChannelHandlerContext context = getSockJsSession().connectionContext(); if (context != null) { //could be null if the request is aborted, for example due to missing callback. if (logger.isDebugEnabled()) { logger.debug("Will close session connectionContext {}", getSockJsSession().connectionContext()); } context.close(); } sessions.remove(getSockJsSession().sessionId()); }
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); }