@Override public final ExecutorService onCreated(BeanCreatedEvent<ExecutorService> event) { ExecutorService executorService = event.getBean(); if (executorService instanceof ScheduledExecutorService) { return new InstrumentedScheduledExecutorService() {
@Override protected void messageHandled(ChannelHandlerContext ctx, NettyRxWebSocketSession session, Object message) { ctx.executor().execute(() -> { try { eventPublisher.publishEvent(new WebSocketMessageProcessedEvent<>(session, message)); } catch (Exception e) { if (LOG.isErrorEnabled()) { LOG.error("Error publishing WebSocket message processed event: " + e.getMessage(), e); } } }); }
/** * @return The method that represents the circuit */ @Override public ExecutableMethod<?, ?> getSource() { return (ExecutableMethod<?, ?>) super.getSource(); } }
@Override public Object onInitialized(BeanInitializingEvent<Object> event) { final Object bean = event.getBean(); wireAwareObjects(bean); return bean; }
@Override public void handlerRemoved(ChannelHandlerContext ctx) throws Exception { Channel channel = ctx.channel(); channel.attr(NettyRxWebSocketSession.WEB_SOCKET_SESSION_KEY).set(null); if (LOG.isDebugEnabled()) { LOG.debug("Removing WebSocket Server session: " + session); } webSocketSessionRepository.removeChannel(channel); try { eventPublisher.publishEvent(new WebSocketSessionClosedEvent(session)); } catch (Exception e) { if (LOG.isErrorEnabled()) { LOG.error("Error publishing WebSocket closed event: " + e.getMessage(), e); } } super.handlerRemoved(ctx); }
@Override public ThreadFactory onCreated(BeanCreatedEvent<ThreadFactory> event) { final ThreadFactory original = event.getBean(); return r -> { final Optional<HttpRequest<Object>> httpRequest = ServerRequestContext.currentRequest(); return original.newThread( httpRequest.map(objectHttpRequest -> ServerRequestContext.instrument(objectHttpRequest, r)) .orElse(r) ); }; }
@Override public BeanContext getSource() { return (BeanContext) super.getSource(); } }
eventPublisher.publishEvent(new WebSocketSessionOpenEvent(session)); } catch (Exception e) { if (LOG.isErrorEnabled()) {
@Override public BeanContext getSource() { return (BeanContext) super.getSource(); } }
@Override public void publishEvent(Object event) { this.eventPublisher.publishEvent(event); } }
@Override public EmbeddedApplication<?> getSource() { return (EmbeddedApplication<?>) super.getSource(); } }
@Override public void publishEvent(Object event) { this.eventPublisher.publishEvent(event); } }
@Override public MethodInvocationContext<?, ?> getSource() { return (MethodInvocationContext<?, ?>) super.getSource(); } }
@Override public void publishEvent(ApplicationEvent event) { eventPublisher.publishEvent(event); }
@Override public ServiceInstance getSource() { return (ServiceInstance) super.getSource(); } }
@Override public void publishEvent(Object event) { eventPublisher.publishEvent(event); } }
/** * @return The method that represents the circuit */ @Override public ExecutableMethod<?, ?> getSource() { return (ExecutableMethod<?, ?>) super.getSource(); } }
@Override public void publishEvent(ApplicationEvent event) { this.eventPublisher.publishEvent(event); }
@SuppressWarnings("unchecked") @Override public Map<String, Object> getSource() { return (Map<String, Object>) super.getSource(); } }
@Override public void publishEvent(ApplicationEvent event) { this.eventPublisher.publishEvent(event); }