private void processQueueItem()

in src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java [383:401]


    private void processQueueItem(FullMessage<PackageMessage> item)
            throws PersistenceException, LoginException, DistributionException, ImportPostProcessException {
        MessageInfo info = item.getInfo();
        PackageMessage pkgMsg = item.getMessage();
        boolean skip = shouldSkip(info.getOffset());
        PackageMessage.ReqType type = pkgMsg.getReqType();
        try {
            idleCheck.busy(bookKeeper.getRetries(pkgMsg.getPubAgentName()));
            if (skip) {
                bookKeeper.removePackage(pkgMsg, info.getOffset());
            } else if (type == INVALIDATE) {
                bookKeeper.invalidateCache(pkgMsg, info.getOffset());
            } else {
                bookKeeper.importPackage(pkgMsg, info.getOffset(), info.getCreateTime());
            }
        } finally {
            idleCheck.idle();
        }
    }