@RequestMapping(value = "/user-notifications/{userId}") @ResponseStatus(HttpStatus.OK) @ResponseBody public void watch(@PathVariable("userId") String userId, HttpServletRequest request) throws Exception { //Atmosphere framework puts filter/servlet that adds ATMOSPHERE_RESOURCE to all requests AtmosphereResource resource = (AtmosphereResource)request.getAttribute(ApplicationConfig.ATMOSPHERE_RESOURCE); //suspending resource to keep connection resource.suspend(); //find broadcaster, second parameter says to create broadcaster if it doesn't exist Broadcaster broadcaster = BroadcasterFactory.getDefault().lookup(userId,true); //saving resource for notifications broadcaster.addAtmosphereResource(resource); }
@Override public void suspend(ServletResponse response) { this.response = response; r.suspend(timeoutMs); }
@Override public void suspend() { r.suspend(timeoutMs); }
@RequestMapping("/subscribe") public ResponseEntity<HttpStatus> connect(AtmosphereResource resource) { resource.getResponse().setHeader("Access-Control-Expose-Headers", ATMOSPHERE_TRACKING_ID + "," + X_CACHE_DATE); resource.suspend(); }
public AtmosphereServerHttpExchange(AtmosphereResource resource) { this.resource = resource.suspend(); resource.addEventListener(new AtmosphereResourceEventListenerAdapter() { @Override public void onResume(AtmosphereResourceEvent event) { closeActions.fire(); } @Override public void onDisconnect(AtmosphereResourceEvent event) { closeActions.fire(); } @Override public void onClose(AtmosphereResourceEvent event) { closeActions.fire(); } }); }
public void onRequest(AtmosphereResource resource) throws IOException { //Object message = resource.getAtmosphereResourceEvent().getMessage(); //is empty why? //leave connection open resource.suspend(); BufferedReader reader = resource.getRequest().getReader(); Object message = reader.readLine(); if (message !=null){ Object obj = JSONValue.parse(message.toString()); JSONObject jsonObject = (JSONObject) obj; Object source = jsonObject.get("source"); System.out.println("**onRequest: "+message.toString()); ArrayList frame = new ArrayList(); frame.add(jsonObject.get("type")); frame.add(jsonObject.get("data")); writeQueue.add(frame); } }
public void suspend(int timeout) throws IOException { if (!suspended) { atmResource.setSerializer(serializer).addEventListener(eventListener); writer.suspend(); atmResource.suspend(timeout, false); } }
public void suspend(int timeout) throws IOException { if (!suspended) { atmResource.setSerializer(serializer).addEventListener(eventListener); writer.suspend(); atmResource.suspend(timeout, false); } }
protected SuspendInfo suspend(long timeout) { AtmosphereResource atm = getAtmosphereResource(); atm.getRequest().setAttribute(GWT_SUSPENDED, true); atm.suspend(timeout, false); return new SuspendInfo(atm); }
protected SuspendInfo suspend() { AtmosphereResource atm = getAtmosphereResource(); if (atm == null) { throw new UnexpectedException("Failed to find Atmosphere resource have you setup Atmosphere?", null); } atm.getRequest().setAttribute(GWT_SUSPENDED, true); atm.suspend(-1, false); return new SuspendInfo(atm); }
r.suspend(timeout); } catch (IOException ex) { throw new WebApplicationException(ex);
resource.suspend(); } else if (request.getMethod().equalsIgnoreCase("POST")) { LOGGER.debug("onRequest() POST: %s", requestData);
r.resumeOnBroadcast(true).suspend();
if (AtmosphereResource.TRANSPORT.WEBSOCKET == r.transport() || AtmosphereResource.TRANSPORT.SSE == r.transport()) { r.suspend(); return Action.SUSPEND;
if (AtmosphereResource.TRANSPORT.WEBSOCKET == r.transport() || AtmosphereResource.TRANSPORT.SSE == r.transport()) { r.suspend(); return Action.SUSPEND;