in src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java [279:296]
private long sendAndWait(PackageMessage pkg) {
if (pkg.getReqType() == ReqType.TEST) {
// Do not wait in case of TEST as we do not actually send it out
sender.accept(pkg);
return -1;
}
PackageQueuedNotifier queuedNotifier = pubQueueProvider.getQueuedNotifier();
try {
CompletableFuture<Long> received = queuedNotifier.registerWait(pkg.getPkgId());
Event createdEvent = DistributionEvent.eventPackageCreated(pkg, pubAgentName);
eventAdmin.postEvent(createdEvent);
sender.accept(pkg);
return received.get(queuedTimeout, TimeUnit.MILLISECONDS);
} catch (Exception e) {
queuedNotifier.unRegisterWait(pkg.getPkgId());
throw new RuntimeException(e);
}
}