in src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java [151:176]
public void importPackage(PackageMessage pkgMsg, long offset, long createdTime) throws DistributionException {
log.debug("Importing distribution package {} at offset={}", pkgMsg, offset);
try (Timer.Context context = distributionMetricsService.getImportedPackageDuration().time();
ResourceResolver importerResolver = getServiceResolver(SUBSERVICE_IMPORTER)) {
packageHandler.apply(importerResolver, pkgMsg);
if (config.isEditable()) {
storeStatus(importerResolver, new PackageStatus(Status.IMPORTED, offset, pkgMsg.getPubAgentName()));
}
storeOffset(importerResolver, offset);
importerResolver.commit();
distributionMetricsService.getImportedPackageSize().update(pkgMsg.getPkgLength());
distributionMetricsService.getPackageDistributedDuration().update((currentTimeMillis() - createdTime), TimeUnit.MILLISECONDS);
// Execute the post-processor
postProcess(pkgMsg);
clearPackageRetriesOnSuccess(pkgMsg);
Event event = new AppliedEvent(pkgMsg, config.getSubAgentName()).toEvent();
eventAdmin.postEvent(event);
log.info("Imported distribution package {} at offset={}", pkgMsg, offset);
distributionMetricsService.getPackageStatusCounter(Status.IMPORTED.name()).increment();
} catch (DistributionException | LoginException | IOException | RuntimeException | ImportPostProcessException e) {
failure(pkgMsg, offset, e);
}
}