private void execute()

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;
            }
        }