@Override public void afterCompletion(int status) { if ( status == TransactionManager.STATUS_COMMITTED ) { logger.debug("Completed successfull so applying events on emitter {}", emitter); emitter.apply(events); logger.debug("Emitter {} successfully applied events", emitter); } else { logger.debug("Failed at completion so dropping events on emitter {}", emitter); emitter.drop(events); logger.debug("Emitter {} successfully dropped events", emitter); } } });
@Override public void close() { if (!isActive()) { return; } this.emitter.close(); } }
@Override public void beforeCompletion() { EventCollection collection = (EventCollection) tm.getResource(EVENT_COLLECTION); logger.debug("About to deliver {} to emitter {}", collection, emitter); Collection<InstanceView<?>> data = collection.getEvents(); this.events = data.stream() .map(event -> { event.copyFromSource(); return event; }) .collect(Collectors.toSet()); emitter.deliver(events); logger.debug("Collection {} delivered to {}", collection, emitter); }
protected EventCollection getCollection() { EventCollection collection = (EventCollection) this.tm.getResource(EVENT_COLLECTION); if (collection == null) { collection = emitter.newCollection(); this.tm.putResource(EVENT_COLLECTION, collection); registerSync(); } return collection; }
protected EventCollection getCollection() { EventCollection collection = (EventCollection) this.tm.getResource(EVENT_COLLECTION); if (collection == null) { collection = emitter.newCollection(); this.tm.putResource(EVENT_COLLECTION, collection); registerSync(); } return collection; }
@Override public void afterCompletion(int status) { if ( status == TransactionManager.STATUS_COMMITTED ) { logger.debug("Completed successfull so applying events on emitter {}", emitter); emitter.apply(events); logger.debug("Emitter {} successfully applied events", emitter); } else { logger.debug("Failed at completion so dropping events on emitter {}", emitter); emitter.drop(events); logger.debug("Emitter {} successfully dropped events", emitter); } } });
@Override public void close() { if (!isActive()) { return; } this.emitter.close(); } }
@Override public void beforeCompletion() { EventCollection collection = (EventCollection) tm.getResource(EVENT_COLLECTION); logger.debug("About to deliver {} to emitter {}", collection, emitter); Collection<InstanceView<?>> data = collection.getEvents(); this.events = data.stream() .map(event -> { event.copyFromSource(); return event; }) .collect(Collectors.toSet()); emitter.deliver(events); logger.debug("Collection {} delivered to {}", collection, emitter); }