@Override public void handle(AtmosphereFramework framework, Class<Servlet> annotatedClass) { try { ReflectorServletProcessor r = framework.newClassInstance(ReflectorServletProcessor.class, ReflectorServletProcessor.class); r.setServletClassName(annotatedClass.getName()); LinkedList<AtmosphereInterceptor> l = new LinkedList<>(); MeteorService m = annotatedClass.getAnnotation(MeteorService.class); framework.setBroadcasterCacheClassName(m.broadcasterCache().getName()); String mapping = m.path(); atmosphereConfig(m.atmosphereConfig(), framework); filters(m.broadcastFilters(), framework); AtmosphereInterceptor aa = listeners(m.listeners(), framework); if (aa != null) { l.add(aa); } AnnotationUtil.interceptorsForHandler(framework, Arrays.asList(m.interceptors()), l); if (m.path().contains("{")) { l.addFirst(framework.newClassInstance(AtmosphereInterceptor.class, MeteorServiceInterceptor.class)); } framework.addAtmosphereHandler(mapping, r, broadcaster(framework, m.broadcaster(), m.path()), l); } catch (Throwable e) { logger.warn("", e); } }
AtmosphereHandlerService a = annotatedClass.getAnnotation(AtmosphereHandlerService.class); atmosphereConfig(a.atmosphereConfig(), framework); filters(a.broadcastFilters(), framework);
@Override public void handle(AtmosphereFramework framework, Class<WebSocketHandler> annotatedClass) { try { WebSocketHandlerService m = annotatedClass.getAnnotation(WebSocketHandlerService.class); atmosphereConfig(m.atmosphereConfig(), framework); framework.addAtmosphereHandler(m.path(), AtmosphereFramework.REFLECTOR_ATMOSPHEREHANDLER).initWebSocket(); framework.setDefaultBroadcasterClassName(m.broadcaster().getName()); filters(m.broadcastFilters(), framework); final LinkedList<AtmosphereInterceptor> l = new LinkedList<AtmosphereInterceptor>(); AtmosphereInterceptor aa = listeners(m.listeners(), framework); if (aa != null) { l.add(aa); } AnnotationUtil.interceptorsForHandler(framework, Arrays.asList(m.interceptors()), l); framework.setBroadcasterCacheClassName(m.broadcasterCache().getName()); WebSocketProcessor p = WebSocketProcessorFactory.getDefault().getWebSocketProcessor(framework); framework.addAtmosphereHandler(m.path(), REFLECTOR_ATMOSPHEREHANDLER, l); p.registerWebSocketHandler(m.path(), new WebSocketProcessor.WebSocketHandlerProxy(broadcasterClass(framework, m.broadcaster()), framework.newClassInstance(WebSocketHandler.class, annotatedClass))); } catch (Throwable e) { logger.warn("", e); } }
framework.setBroadcasterCacheClassName(a.broadcasterCache().getName()); atmosphereConfig(a.atmosphereConfig(), framework); framework.setDefaultBroadcasterClassName(a.broadcaster().getName()); filters(a.broadcastFilters(), framework);
AnnotationUtil.defaultManagedServiceInterceptors(framework, l); atmosphereConfig(a.atmosphereConfig(), framework); filters(a.broadcastFilters(), framework);