in src/main/java/org/apache/sling/resourceresolver/impl/mapping/VanityPathHandler.java [170:208]
private void execute() {
try (ResourceResolver resolver =
factory.getServiceResourceResolver(factory.getServiceUserAuthenticationInfo("mapping"))) {
long initStart = System.nanoTime();
log.debug("vanity path initialization - start");
vanityTargets = loadVanityPaths(resolver);
// process pending event
VanityPathHandler.this.drain.run();
vanityPathsProcessed.set(true);
// drain once more in case more events have arrived
VanityPathHandler.this.drain.run();
long initElapsed = System.nanoTime() - initStart;
long resourcesPerSecond = (vanityResourcesOnStartup.get()
* TimeUnit.SECONDS.toNanos(1)
/ (initElapsed == 0 ? 1 : initElapsed));
log.info(
"vanity path initialization - completed, processed {} resources with sling:vanityPath properties in {}ms (~{} resource/s)",
vanityResourcesOnStartup.get(),
TimeUnit.NANOSECONDS.toMillis(initElapsed),
resourcesPerSecond);
} catch (LoginException ex) {
log.error("Vanity path init failed", ex);
} finally {
log.debug(
"dropping temporary resolver map - {}/{} entries, {} hits, {} misses",
temporaryResolveMapsMap.size(),
TEMPORARY_CACHE_SIZE_LIMIT,
temporaryResolveMapsMapHits.get(),
temporaryResolveMapsMapMisses.get());
temporaryResolveMapsMap = null;
}
}