@Override public int compare(Event o1, Event o2) { return Long.compare(o1.localOrder(), o2.localOrder()); } };
@Override public boolean apply(Event e) { // Detects that events were lost. if (!lastFound.get() && (lastOrder == e.localOrder())) lastFound.set(true); // Retains events by lastOrder, period and type. return e.localOrder() > lastOrder && e.timestamp() > notOlderThan; } };
/** * @param evt Event. * @return See {@link IgniteEvents#localListen}. */ boolean applyInternal(Event evt) { // Avoid applying previously recorded events. if (evt.localOrder() > this.syncedId) { try { return this.delegate.apply(evt); } catch (Exception e) { e.printStackTrace(); return false; } } return true; } }
Event maxEvt = Collections.max(evts, EVTS_ORDER_COMPARATOR); nl.put(evtOrderKey, maxEvt.localOrder());
maxOrder = Math.max(maxOrder, e.localOrder());
@Override public boolean apply(Event evt) { return evt.localOrder() > startEvtOrder && (arg.getTypeArgument() == null || F.contains(arg.getTypeArgument(), evt.type())) && (evt.timestamp() >= startEvtTime) && (arg.getTaskName() == null || filterByTaskName(evt, arg.getTaskName())) && (arg.getTaskSessionId() == null || filterByTaskSessionId(evt, arg.getTaskSessionId())); } });
/** * */ public void sync() { if (!this.isSynced) { synchronized (this) { if (!this.isSynced) { Collection<Event> evts = ignite().events().localQuery(new IgnitePredicate<Event>() { @Override public boolean apply(final Event evt) { return true; } }, this.causes); for (Event event : evts) { // Events returned from localQuery() are ordered by increasing local ID. Update the sync ID // within a finally block to avoid applying duplicate events if the delegate listener // throws an exception while processing the event. try { applyInternal(event); } finally { this.syncedId = event.localOrder(); } } this.isSynced = true; notifyAll(); } } } }
@Override public int compare(Event o1, Event o2) { return Long.compare(o1.localOrder(), o2.localOrder()); } };
@Override public boolean apply(Event e) { // Detects that events were lost. if (!lastFound.get() && (lastOrder == e.localOrder())) lastFound.set(true); // Retains events by lastOrder, period and type. return e.localOrder() > lastOrder && e.timestamp() > notOlderThan; } };
Event maxEvt = Collections.max(evts, EVTS_ORDER_COMPARATOR); nl.put(evtOrderKey, maxEvt.localOrder());
maxOrder = Math.max(maxOrder, e.localOrder());
@Override public boolean apply(Event evt) { return evt.localOrder() > startEvtOrder && (arg.getTypeArgument() == null || F.contains(arg.getTypeArgument(), evt.type())) && (evt.timestamp() >= startEvtTime) && (arg.getTaskName() == null || filterByTaskName(evt, arg.getTaskName())) && (arg.getTaskSessionId() == null || filterByTaskSessionId(evt, arg.getTaskSessionId())); } });