@MeteorService(path = "/recursos/fila-de-atendimento", interceptors = {AtmosphereResourceLifecycleInterceptor.class}) public class FilaDeAtendimentoResource extends HttpServlet { @Inject private BroadcasterFactory broadcasterFactory; ... /** Used for registering for a message */ public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException { ... Broadcaster broadcaster = broadcasterFactory.lookup(broadcasterId, true); meteor.setBroadcaster(broadcaster); ... } }
public static Broadcaster getTradeBroadcaster() { return FACTORY.lookup(TRADES_CHANNEL, true); }
@Suspend( contentType = MediaType.APPLICATION_JSON, period = MAX_SUSPEND_MSEC ) @GET public Broadcastable suspend( @Context final BroadcasterFactory factory ) { return new Broadcastable( factory.lookup( MY_CHANNEL, true ) ); }
@Override public <T extends Broadcaster> T lookup(Class<T> c, Object id, boolean createIfNull) { return _get().lookup(c, id, createIfNull); }
@Override public <T extends Broadcaster> T lookup(Class<T> c, Object id) { return _get().lookup(c, id); }
@Override public Broadcaster lookup(Object id) { return _get().lookup(id); }
@Override public Broadcaster lookup(Object id, boolean createIfNull) { return _get().lookup(id, createIfNull); }
@Override public Object fromString(String topic) { Broadcaster broadcaster; try { AtmosphereResource r = (AtmosphereResource) req.getAttribute(FrameworkConfig.ATMOSPHERE_RESOURCE); BroadcasterFactory bp = r.getAtmosphereConfig().getBroadcasterFactory(); Class<? extends Broadcaster> c; try { c = (Class<Broadcaster>) Class.forName((String) req.getAttribute(ApplicationConfig.BROADCASTER_CLASS)); } catch (Throwable e) { throw new IllegalStateException(e.getMessage()); } broadcaster = bp.lookup(c, topic, true); } catch (Throwable ex) { throw new WebApplicationException(ex); } logger.trace("Injected Broadcaster {}", broadcaster); req.setAttribute(AtmosphereFilter.INJECTED_BROADCASTER, broadcaster); return broadcaster; } }
public boolean sendNotification(String topicName, String message) throws IOException { BroadcasterFactory broadcasterFactory = framework.getBroadcasterFactory(); Broadcaster b = broadcasterFactory.lookup(Notifications.BASE_PATH + topicName); if(b != null) { b.broadcast(message); return true; } else { return false; } }
@GET public Broadcastable suspend() { return new Broadcastable( factory.lookup(topic, true ) );
/** * Creates channel (named {@link Broadcaster} in Atmosphere) based on the {@link org.atmosphere.cpr.AtmosphereRequest#getPathInfo()} * * @param resource An {@link AtmosphereResource} * @return */ public boolean apply(AtmosphereResource resource) { String pathInfo = resource.getRequest().getPathInfo(); BroadcasterFactory f = resource.getAtmosphereConfig().getBroadcasterFactory(); if (pathInfo == null) { resource.setBroadcaster(f.lookup("/*")); return true; } final Broadcaster b = f.lookup(pathInfo, true); resource.setBroadcaster(b); return true; } }
@Override public void configure(AtmosphereConfig config) { heartbeat = config.getBroadcasterFactory().lookup(DefaultBroadcaster.class, "/swaggersocket.heartbeat"); if (heartbeat == null) { heartbeat = config.getBroadcasterFactory().get(DefaultBroadcaster.class, "/swaggersocket.heartbeat"); } lazywrite = config.getInitParameter("io.swagger.swaggersocket.protocol.lazywrite", false); emptyentity = config.getInitParameter("io.swagger.swaggersocket.protocol.emptyentity", false); String p = config.getInitParameter("io.swagger.swaggersocket.protocol.includedheaders"); if (p != null) { includedheaders = Pattern.compile(p, Pattern.CASE_INSENSITIVE); } p = config.getInitParameter("io.swagger.swaggersocket.protocol.excludedheaders"); if (p != null) { excludedheaders = Pattern.compile(p, Pattern.CASE_INSENSITIVE); } }
private boolean publishPlayerUpdate(final P player) { final boolean[] status = new boolean[]{false}; try { logger.trace("Publishing player changed to " + player.getId()); Broadcaster broadcaster = broadcasterFactory.getBroadcasterFactory() .lookup(LiveFeedService.PATH_ROOT + player.getIdAsString()); if (broadcaster != null) { WebSocketMessage message = new WebSocketMessage(); message.setMessageType(MessageType.Player); message.setPlayer(player); broadcaster.broadcast(message); status[0] = true; } else { logger.trace("Player is not connected to this server for player changed " + player.getId()); } } catch (Exception e) { logger.error("Error publishing player update " + player.getId(), e); } publicationListeners.forEach(listner -> { try { logger.info("trace {} {}", player.getIdAsString(), status[0]); listner.publishedPlayerUpdate(player, status[0]); } catch (Exception e) { logger.error("Error publishing to publication listener", e); } }); return status[0]; }
public void onOpen(WebSocket webSocket) { log.info("connection requested: {}", webSocket.resource().uuid()); webSocket.resource().setBroadcaster(factory.lookup("/sensorIngest/" + requestCount++, true)).suspend(-1);
/** * This is the main entrypoint on the server that you will want to hook into and override. * This method is called when a client has request a new connection. Best practice is to do all your * required setup here and tie the AtmosphereResource to a Broadcaster, but do not send anything to * the client yet. If you wish to do so it is best to let the client send a notification to the server * using the {@link AtmosphereClient#post} method in the onConnected event. * * @param resource * @return * @throws ServletException * @throws IOException */ public int doComet(GwtAtmosphereResource resource) throws ServletException, IOException { Broadcaster broadcaster = BroadcasterFactory.getDefault().lookup(Broadcaster.class, GWT_BROADCASTER_ID); if (broadcaster == null) { broadcaster = BroadcasterFactory.getDefault().get(DefaultBroadcaster.class, GWT_BROADCASTER_ID); } resource.getAtmosphereResource().setBroadcaster(broadcaster); return NO_TIMEOUT; }
/** * This is the main entrypoint on the server that you will want to hook into and override. * This method is called when a client has request a new connection. Best practice is to do all your * required setup here and tie the AtmosphereResource to a Broadcaster, but do not send anything to * the client yet. If you wish to do so it is best to let the client send a notification to the server * using the {@link AtmosphereClient#post} method in the onConnected event. * * @param resource * @return * @throws ServletException * @throws IOException */ public int doComet(GwtAtmosphereResource resource) throws ServletException, IOException { Broadcaster broadcaster = BroadcasterFactory.getDefault().lookup(Broadcaster.class, GWT_BROADCASTER_ID); if (broadcaster == null) { broadcaster = BroadcasterFactory.getDefault().get(DefaultBroadcaster.class, GWT_BROADCASTER_ID); } resource.getAtmosphereResource().setBroadcaster(broadcaster); return NO_TIMEOUT; }
private boolean publishGameToPlayer(final P player, final IMPL game) { logger.trace("Publishing game update on game " + game.getId() + " to player " + player.getId()); final boolean[] status = new boolean[]{false}; try { Broadcaster broadcaster = broadcasterFactory.getBroadcasterFactory() .lookup(LiveFeedService.PATH_ROOT + player.getIdAsString()); if (broadcaster != null) { WebSocketMessage message = new WebSocketMessage(); message.setMessageType(MessageType.Game); message.setGame(gameMasker.maskGameForPlayer(game, player)); broadcaster.broadcast(message); status[0] = true; } else { logger.trace( "Player {} is not connected to this server for {}.", player.getIdAsString(), game.getIdAsString()); } } catch (Exception e) { logger.error("Error publishing game " + game.getId() + " to player " + player.getId(), e); } publicationListeners.forEach(listener -> { try { listener.publishedGameUpdateToPlayer(player, game, status[0]); } catch (Exception e) { logger.error("Error publishing to publication listener", e); } }); return status[0]; }
newBroadcaster = config.getBroadcasterFactory().lookup(broadcasterName, true); newBroadcaster.setBroadcasterLifeCyclePolicy(BroadcasterLifeCyclePolicy.EMPTY_DESTROY); throw new IllegalStateException(e.getMessage()); broadcaster = config.getBroadcasterFactory().lookup(c, topic, true); throw new IllegalStateException(e.getMessage()); r.setBroadcaster(config.getBroadcasterFactory().lookup(c, topic, true));