public DocumentProcessingHandler(ComponentRegistry<DocprocService> docprocServiceRegistry,
ComponentRegistry<DocumentProcessor> documentProcessorComponentRegistry,
ComponentRegistry<AbstractConcreteDocumentFactory> docFactoryRegistry,
DocumentProcessingHandlerParameters params) {
this(docprocServiceRegistry, documentProcessorComponentRegistry, docFactoryRegistry,
new DocprocThreadPoolExecutor(params.getMaxNumThreads(),
(params.getMaxQueueTimeMs() > 0)
? new ThroughputLimitQueue<>(params.getMaxQueueTimeMs())
: (params.getMaxQueueTimeMs() < 0)
? new LinkedBlockingQueue<>()
: new PriorityBlockingQueue<>(),
new DocprocThreadManager(params.getMaxConcurrentFactor(),
params.getDocumentExpansionFactor(),
params.getContainerCoreMemoryMb(),
params.getStatisticsManager(),
params.getMetric())),
params.getDocumentTypeManager(), params.getChainsModel(), params.getSchemaMap(),
params.getStatisticsManager(),
params.getMetric(),
params.getContainerDocConfig());
}