@Override public void doRun() { LOG.debug("Opening MongoDB cursor on \"{}\"", COLLECTION_NAME); try (DBCursor<ClusterEvent> cursor = eventCursor(nodeId)) { if (LOG.isTraceEnabled()) { LOG.trace("MongoDB query plan: {}", cursor.explain()); } while (cursor.hasNext()) { ClusterEvent clusterEvent = cursor.next(); LOG.trace("Processing cluster event: {}", clusterEvent); Object payload = extractPayload(clusterEvent.payload(), clusterEvent.eventClass()); if (payload != null) { serverEventBus.post(payload); } else { LOG.warn("Couldn't extract payload of cluster event with ID <{}>", clusterEvent.id()); LOG.debug("Invalid payload in cluster event: {}", clusterEvent); } updateConsumers(clusterEvent.id(), nodeId); } } catch (Exception e) { LOG.warn("Error while reading cluster events from MongoDB, retrying.", e); } }
@Override public void doRun() { try { LOG.debug("Opening MongoDB cursor on \"{}\"", COLLECTION_NAME); final DBCursor<ClusterEvent> cursor = eventCursor(nodeId); if (LOG.isTraceEnabled()) { LOG.trace("MongoDB query plan: {}", cursor.explain()); } while (cursor.hasNext()) { ClusterEvent clusterEvent = cursor.next(); LOG.trace("Processing cluster event: {}", clusterEvent); Object payload = extractPayload(clusterEvent.payload(), clusterEvent.eventClass()); if (payload != null) { serverEventBus.post(payload); } else { LOG.warn("Couldn't extract payload of cluster event with ID <{}>", clusterEvent.id()); LOG.debug("Invalid payload in cluster event: {}", clusterEvent); } updateConsumers(clusterEvent.id(), nodeId); } } catch (Exception e) { LOG.warn("Error while reading cluster events from MongoDB, retrying.", e); } }