This is an automated email from the ASF dual-hosted git repository. amichai pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/aries-rsa.git
commit 2261a1dc759da4854c7a020398788d7c49ec0510 Author: Amichai Rothman <[email protected]> AuthorDate: Tue Mar 17 17:33:28 2026 +0200 Fix thread pools effectively having fixed size (because queue is unbounded) --- .../java/org/apache/aries/rsa/topologymanager/Activator.java | 9 ++++----- .../rsa/topologymanager/importer/TopologyManagerImport.java | 5 ++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/topology-manager/src/main/java/org/apache/aries/rsa/topologymanager/Activator.java b/topology-manager/src/main/java/org/apache/aries/rsa/topologymanager/Activator.java index daef5a33..080b1696 100644 --- a/topology-manager/src/main/java/org/apache/aries/rsa/topologymanager/Activator.java +++ b/topology-manager/src/main/java/org/apache/aries/rsa/topologymanager/Activator.java @@ -20,9 +20,8 @@ package org.apache.aries.rsa.topologymanager; import java.util.Dictionary; import java.util.Hashtable; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.Executors; +import java.util.concurrent.ExecutorService; import org.apache.aries.rsa.spi.ExportPolicy; import org.apache.aries.rsa.topologymanager.exporter.DefaultExportPolicy; @@ -76,7 +75,7 @@ public class Activator implements BundleActivator { private TopologyManagerImport importManager; EndpointListenerNotifier notifier; private ServiceTracker<RemoteServiceAdmin, RemoteServiceAdmin> rsaTracker; - private ThreadPoolExecutor exportExecutor; + private ExecutorService exportExecutor; private ServiceTracker<ExportPolicy, ExportPolicy> policyTracker; private EndpointListenerManager endpointListenerManager; @@ -121,7 +120,7 @@ public class Activator implements BundleActivator { public void doStart(final BundleContext bc, ExportPolicy policy) { LOG.debug("TopologyManager: start()"); notifier = new EndpointListenerNotifier(); - exportExecutor = new ThreadPoolExecutor(5, 10, 50, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), new NamedThreadFactory(TopologyManagerExport.class)); + exportExecutor = Executors.newCachedThreadPool(new NamedThreadFactory(TopologyManagerExport.class)); exportManager = new TopologyManagerExport(notifier, exportExecutor, policy); endpointEventListenerTracker = new EndpointEventListenerTracker(bc, exportManager); importManager = new TopologyManagerImport(bc); diff --git a/topology-manager/src/main/java/org/apache/aries/rsa/topologymanager/importer/TopologyManagerImport.java b/topology-manager/src/main/java/org/apache/aries/rsa/topologymanager/importer/TopologyManagerImport.java index e48ef198..b57d494b 100644 --- a/topology-manager/src/main/java/org/apache/aries/rsa/topologymanager/importer/TopologyManagerImport.java +++ b/topology-manager/src/main/java/org/apache/aries/rsa/topologymanager/importer/TopologyManagerImport.java @@ -22,9 +22,8 @@ import java.util.HashSet; import java.util.LinkedHashSet; import java.util.Set; import java.util.concurrent.CopyOnWriteArraySet; +import java.util.concurrent.Executors; import java.util.concurrent.ExecutorService; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import org.osgi.framework.BundleContext; @@ -68,7 +67,7 @@ public class TopologyManagerImport implements EndpointEventListener, RemoteServi public TopologyManagerImport(BundleContext bc) { rsaSet = new CopyOnWriteArraySet<>(); bctx = bc; - execService = new ThreadPoolExecutor(5, 10, 50, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), new NamedThreadFactory(getClass())); + execService = Executors.newCachedThreadPool(new NamedThreadFactory(getClass())); } public void start() {
