in src/main/java/org/apache/sling/distribution/journal/impl/publisher/PubQueueProviderPublisher.java [58:79]
public PubQueueProviderPublisher(
@Reference MessagingProvider messagingProvider,
@Reference DiscoveryService discoveryService,
@Reference MetricsService metricsService,
@Reference PubQueueProviderFactory pubQueueProviderFactory,
BundleContext context) {
PublishMetrics publishMetrics = new PublishMetrics(metricsService, "");
Consumer<ClearCommand> commandSender = messagingProvider.createSender(Topics.COMMAND_TOPIC);
CacheCallback callback = new MessagingCacheCallback(
messagingProvider,
Topics.PACKAGE_TOPIC,
publishMetrics,
discoveryService,
commandSender);
this.pubQueueProvider = pubQueueProviderFactory.create(callback);
this.statusPoller = messagingProvider.createPoller(
Topics.STATUS_TOPIC,
Reset.earliest,
HandlerAdapter.create(PackageStatusMessage.class, pubQueueProvider::handleStatus)
);
reg = context.registerService(PubQueueProvider.class, this.pubQueueProvider, new Hashtable<>());
}