@Override public <T> void register(String channelName, EventListener<T> listener) { eventBus.register(channelName, listener); }
private void sendMessages() { flushCount++; lastFlushTime = now; stats.recordCount(eventCountStatsKey, messageCountSinceLastFlush); messageCountSinceLastFlush = 0; if (debug) { logger.debug("EventManager {} flushCount {}", name, flushCount); } final Set<Map.Entry<String, List<Object>>> entries = eventMap.entrySet(); for (Map.Entry<String, List<Object>> entry : entries) { String channelName = entry.getKey(); final List<Object> events = entry.getValue(); for (Object event : events) { eventBus.send(channelName, event); } events.clear(); } //noinspection Convert2streamapi for (SendQueue<Event<Object>> sendQueue : queuesToFlush) { sendQueue.flushSends(); } }
@Override public void forwardEvent(final EventTransferObject<Object> event) { messageCountSinceLastFlush++; eventBus.forwardEvent(event); }
eventBus.register("rick", new EventSubscriber<Object>() { @Override public void listen(Event<Object> event) { eventBus.register("rick", new EventSubscriber<Object>() { @Override public void listen(Event<Object> event) { eventBus.register("bob", callbackEventListener(o -> { puts(o); subscriberMessageCount++; eventBus.register("rick", callbackEventListener(o -> { puts(o, o.getClass()); subscriberMessageCount++; })); eventBus.register("rick", new EventConsumer<Object>() { @Override public void listen(Event<Object> event) { eventBus.send("rick", hello);
@Override public <T> void unregister(String channelName, EventListener<T> listener) { eventBus.unregister(channelName, listener); }
@QueueCallback(QueueCallbackType.IDLE) private void queueIdle() { now = Timer.timer().now(); if (messageCountSinceLastFlush > 0) { sendMessages(); return; } eventBus.flush(); }
@Override public void listen(Event<Object> event) { if (!serviceQueue.running()) { eventBus.unregister(channelName, ref.get()); queuesToFlush.remove(sendQueue); } sendQueue.send(event); } };
@QueueCallback(QueueCallbackType.EMPTY) private void queueEmpty() { if (messageCountSinceLastFlush > 100) { now = Timer.timer().now(); sendMessages(); return; } now = Timer.timer().now(); long duration = now - lastFlushTime; if (duration > 20 && messageCountSinceLastFlush > 0) { sendMessages(); } eventBus.flush(); }
@SuppressWarnings("Convert2Lambda") private void consume(final String channelName, final ServiceQueue serviceQueue) { final SendQueue<Event<Object>> sendQueue = serviceQueue.events(); logger.info("EventManager {}::consume() channel name {} sendQueue {}", name, channelName, sendQueue.name()); queuesToFlush.add(sendQueue); final AtomicReference<EventConsumer<Object>> ref = new AtomicReference<>(); final EventConsumer<Object> eventConsumer = new EventConsumer<Object>() { @Override public void listen(Event<Object> event) { if (!serviceQueue.running()) { eventBus.unregister(channelName, ref.get()); queuesToFlush.remove(sendQueue); } sendQueue.send(event); } }; ref.set(eventConsumer); eventBus.register(channelName, eventConsumer); }
@Override public void listen(Event<Object> event) { if (!serviceQueue.running()) { eventBus.unregister(channelName, ref.get()); queuesToFlush.remove(sendQueue); } sendQueue.send(event); } };
@QueueCallback(QueueCallbackType.IDLE) private void queueIdle() { now = Timer.timer().now(); if (messageCountSinceLastFlush > 0) { sendMessages(); return; } eventBus.flush(); }
private void sendMessages() { flushCount++; lastFlushTime = now; stats.recordCount(eventCountStatsKey, messageCountSinceLastFlush); messageCountSinceLastFlush = 0; if (debug) { logger.debug("EventManager {} flushCount {}", name, flushCount); } final Set<Map.Entry<String, List<Object>>> entries = eventMap.entrySet(); for (Map.Entry<String, List<Object>> entry : entries) { String channelName = entry.getKey(); final List<Object> events = entry.getValue(); for (Object event : events) { eventBus.send(channelName, event); } events.clear(); } //noinspection Convert2streamapi for (SendQueue<Event<Object>> sendQueue : queuesToFlush) { sendQueue.flushSends(); } }
@Override public void forwardEvent(final EventTransferObject<Object> event) { messageCountSinceLastFlush++; eventBus.forwardEvent(event); }
@SuppressWarnings("Convert2Lambda") private void subscribe(final String channelName, final ServiceQueue serviceQueue) { final SendQueue<Event<Object>> sendQueue = serviceQueue.events(); logger.info("EventManager {}::subscribe() channel name {} sendQueue {}", name, channelName, sendQueue.name()); queuesToFlush.add(sendQueue); final AtomicReference<EventSubscriber<Object>> ref = new AtomicReference<>(); final EventSubscriber<Object> eventConsumer = new EventSubscriber<Object>() { @Override public void listen(Event<Object> event) { if (!serviceQueue.running()) { eventBus.unregister(channelName, ref.get()); queuesToFlush.remove(sendQueue); } sendQueue.send(event); } }; ref.set(eventConsumer); eventBus.register(channelName, eventConsumer); }
@Override public <T> void unregister(String channelName, EventListener<T> listener) { eventBus.unregister(channelName, listener); }
@QueueCallback(QueueCallbackType.IDLE) private void queueIdle() { now = Timer.timer().now(); if (messageCountSinceLastFlush > 0) { sendMessages(); return; } eventBus.flush(); }
private void sendMessages() { flushCount++; lastFlushTime = now; stats.recordCount(eventCountStatsKey, messageCountSinceLastFlush); messageCountSinceLastFlush = 0; if (debug) { logger.debug("EventManager {} flushCount {}", name, flushCount); } final Set<Map.Entry<String, List<Object>>> entries = eventMap.entrySet(); for (Map.Entry<String, List<Object>> entry : entries) { String channelName = entry.getKey(); final List<Object> events = entry.getValue(); for (Object event : events) { eventBus.send(channelName, event); } events.clear(); } //noinspection Convert2streamapi for (SendQueue<Event<Object>> sendQueue : queuesToFlush) { sendQueue.flushSends(); } }
@Override public void forwardEvent(final EventTransferObject<Object> event) { messageCountSinceLastFlush++; eventBus.forwardEvent(event); }
@Override public <T> void register(String channelName, EventListener<T> listener) { eventBus.register(channelName, listener); }
@Override public <T> void unregister(String channelName, EventListener<T> listener) { eventBus.unregister(channelName, listener); }