[
https://issues.apache.org/jira/browse/SLING-10441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17354968#comment-17354968
]
Bertrand Delacretaz commented on SLING-10441:
---------------------------------------------
Using an {{ExecutorService}} instead of raw threads might be an option, as done
in the {{sling-org-apache-sling-distribution-journal}} module.
Assuming you need a small number of threads, I suppose (without having verified
that) that keeping an {{ExecutorService}} around is reasonably cheap, it's a
cleaner API than raw threads, and makes it possible to switch to [virtual
threads|http://openjdk.java.net/projects/loom/] later.
> make discovery independent from scheduler thread pools
> ------------------------------------------------------
>
> Key: SLING-10441
> URL: https://issues.apache.org/jira/browse/SLING-10441
> Project: Sling
> Issue Type: Task
> Components: Discovery
> Affects Versions: Discovery Commons 1.0.20, Discovery Impl 1.2.12,
> Discovery Base 2.0.8, Discovery Oak 1.2.30
> Reporter: Stefan Egli
> Assignee: Stefan Egli
> Priority: Major
>
> Currently discovery uses the commons.scheduler for a few but mission critical
> cases. Since the commons.scheduler doesn't guarantee timely execution - eg
> when the corresponding thread pool is full - discovery should become
> independent of commons.scheduler.
> The easiest solution is to spawn {{new Thread}} in those few cases. This
> shouldn't be problematic since these activities are not happening on a high
> frequency and are only short-lived.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)