@Override public void onStateChange(AtmosphereResourceEvent event) throws IOException { super.onStateChange(event); if (pushHandler == null) { getLogger().warning( "AtmosphereHandler.onStateChange called before PushHandler has been set. This should really not happen"); return; } if (event.isCancelled() || event.isResumedOnTimeout()) { pushHandler.connectionLost(event); } }
@Override public void onDisconnect(final AtmosphereResourceEvent event) { if (event.isCancelled() || event.isClosedByClient()) { feed.resumeAll(); if (futures.get(tagid) != null) { futures.get(tagid).cancel(true); } } }
@Override public void onStateChange(AtmosphereResourceEvent event) throws IOException { super.onStateChange(event); if (pushHandler == null) { getLogger().warn( "AtmosphereHandler.onStateChange called before PushHandler has been set. This should really not happen"); return; } if (event.isCancelled() || event.isResumedOnTimeout()) { pushHandler.connectionLost(event); } }
@Override public void onStateChange(AtmosphereResourceEvent event) throws IOException { super.onStateChange(event); if (pushHandler == null) { getLogger().warning( "AtmosphereHandler.onStateChange called before PushHandler has been set. This should really not happen"); return; } if (event.isCancelled() || event.isResumedOnTimeout()) { pushHandler.connectionLost(event); } }
if (event.isCancelled()) { logger.info("Browser {} unexpectedly disconnected", event.getResource().uuid()); } else if (event.isClosedByClient()) {
@Disconnect public void onDisconnect(AtmosphereResourceEvent event) { if (event.isCancelled()) { log.info("Browser " + event.getResource().uuid() + " unexpectedly disconnected"); } else if (event.isClosedByClient()) { log.info("Browser " + event.getResource().uuid() + " closed the connection"); } }
@SuppressWarnings("WeakerAccess") @Disconnect public void onDisconnect(final AtmosphereResourceEvent event) { if (event.isCancelled()) { // We didn't get notified, so we remove the user. logger.info("Browser {} unexpectedly disconnected for pathParam {}.", event.getResource().uuid(), id); } else if (event.isClosedByClient()) { logger.info("Browser {} closed the connection for pathParam {}.", event.getResource().uuid(), id); } else { logger.info("Browser {} closed for other reason for pathParam {}.", event.getResource().uuid(), id); } }
@Disconnect public final void onDisconnect(final AtmosphereResourceEvent event){ Collection<AtmosphereResource> atmosphereResources = event.getResource().getBroadcaster().getAtmosphereResources(); if (atmosphereResources.size() < 2 && subscription != null) { synchronized (subscription) { subscription.unsubscribe(); subscription = null; } LOG.debug("[websocket {}] [broadcaster:#{}] unsubscribed !", scopeAsAString, event.getResource().getBroadcaster().getID()); } if (event.isCancelled()) { LOG.info("[websocket {}] Client {} cancelled the connection", scopeAsAString, event.getResource().uuid()); } else if(event.isClosedByClient()) { LOG.info("[websocket {}] Client {} closed the connection", scopeAsAString, event.getResource().uuid()); } }
@Disconnect public void onDisconnect(AtmosphereResourceEvent event) throws IOException { if (writeOnClose.get() && build != null && !build.isReadonly()) { UUID buildId = build.getId(); String eventKey = "written"; String eventValue = buildId.toString(); try { hub.writeBuild(build); log.info("[websocket] written build {}", buildId); } catch (IOException e) { eventKey = e.getClass().getSimpleName(); eventValue = e.getMessage(); log.info("[websocket] exception writing build {}, {} : {}", buildId, eventKey, eventValue); } event.broadcaster().broadcast(new Event(eventKey, eventValue, null)); } final String cause; if (event.isCancelled()) { cause = "cancelled"; } else if (event.isClosedByApplication()) { cause = "closedByAppplication"; } else if (event.isClosedByClient()) { cause = "closedByClient"; } else { cause = "unknown"; } log.info("[websocket] Client {} disconnected, cause: {}, buildId: {}, writeOnClose: {}", event.getResource().uuid(), cause, build == null ? null : build.getId(), writeOnClose); }
@Override public void onStateChange(AtmosphereResourceEvent event) throws IOException { if (event.isCancelled() || event.getMessage() == null) { return; } HttpServletRequest request = event.getResource().getRequest(); if (Boolean.FALSE.equals(request.getAttribute(AtmospherePollService.GWT_SUSPENDED)) || request.getAttribute(AtmospherePollService.GWT_REQUEST) == null) { return; } boolean success = false; try { AtmospherePollService.writeResponse(event.getResource(), event.getMessage()); success = true; } catch (IllegalArgumentException ex) { // the message did not have the same type as the return type of the suspended method } if (success && event.isSuspended()) { request.removeAttribute(AtmospherePollService.GWT_SUSPENDED); event.getResource().resume(); } }
@Override public void onStateChange(AtmosphereResourceEvent event) throws IOException { if (event.getMessage() == null || event.isCancelled() || event.isResuming() || event.isResumedOnTimeout()) { return; } AtmosphereResource resource = event.getResource(); AtmosphereRequest req = resource.getRequest(); AtmosphereResponse res = resource.getResponse(); PrintWriter writer = res.getWriter(); writer.print((String) event.getMessage()); writer.flush(); if (req.getParameter("transport").startsWith("longpoll")) { req.setAttribute("used", true); resource.resume(); } }
if (event.isCancelled() || event.isClosedByClient()) { remoteEndpoint.status().status(event.isCancelled() ? Status.STATUS.UNEXPECTED_CLOSE : Status.STATUS.CLOSED_BY_CLIENT); request.removeAttribute(RemoteEndpointImpl.class.getName()); trackedUUID.remove(r.uuid());
@Override public void onStateChange(AtmosphereResourceEvent event) throws IOException { ensureInitialized(event.getResource()); AtmosphereResponse response = ((AtmosphereResourceImpl) event.getResource()).getResponse(false); if (event.getMessage() != null && List.class.isAssignableFrom(event.getMessage().getClass())) { List<String> messages = List.class.cast(event.getMessage()); for (String t : messages) { onMessage(event, response, t); } } else if (event.isClosedByApplication() || event.isClosedByClient() || event.isCancelled()) { onDisconnect(event, response); } else if (event.isSuspended()) { onMessage(event, response, (String) event.getMessage()); } else if (event.isResuming()) { onResume(event, response); } else if (event.isResumedOnTimeout()) { onTimeout(event, response); } }