You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:25:43 UTC

[sling-org-apache-sling-commons-threads] 04/09: SLING-1821 : Custom thread pools should get an optional label

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.commons.threads-3.1.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git

commit b92d2c593341ac0fbb2dd54ea10e63c0ab7066a9
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Oct 6 14:16:16 2010 +0000

    SLING-1821 :  Custom thread pools should get an optional label
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/commons/threads@1005048 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                                      |  2 +-
 .../org/apache/sling/commons/threads/ThreadPoolManager.java  | 12 ++++++++++++
 .../sling/commons/threads/impl/DefaultThreadPoolManager.java |  7 ++++++-
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index c488de8..7a25b7a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,7 +58,7 @@
                             org.apache.sling.commons.threads.impl.Activator
                         </Bundle-Activator>
                         <Export-Package>
-                            org.apache.sling.commons.threads;version=3.0.0
+                            org.apache.sling.commons.threads;version=3.1.0
                         </Export-Package>
                         <Private-Package>
                             org.apache.sling.commons.threads.impl
diff --git a/src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java b/src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java
index e94a116..871729e 100644
--- a/src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java
+++ b/src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java
@@ -47,6 +47,18 @@ public interface ThreadPoolManager {
     ThreadPool create(ThreadPoolConfig config);
 
     /**
+     * Create a new thread pool with this configuration.
+     * A thread pool must be released when not used anymore with the
+     * {@link #release(ThreadPool)} method.
+     * @param config The thread pool configuration.
+     * @param label  An optional label for the thread pool. The label
+     *               will be appended to the name of the pool.
+     * @return A new thread pool.
+     * @since 3.1
+     */
+    ThreadPool create(ThreadPoolConfig config, String label);
+
+    /**
      * Release the thread pool again.
      */
     void release(ThreadPool pool);
diff --git a/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPoolManager.java b/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPoolManager.java
index 0d70f61..e2cd301 100644
--- a/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPoolManager.java
+++ b/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPoolManager.java
@@ -154,10 +154,15 @@ public class DefaultThreadPoolManager
      * @see org.apache.sling.commons.threads.ThreadPoolManager#create(org.apache.sling.commons.threads.ThreadPoolConfig)
      */
     public ThreadPool create(ThreadPoolConfig config) {
+        return this.create(config, null);
+    }
+
+    public ThreadPool create(ThreadPoolConfig config, String label) {
         if ( config == null ) {
             throw new IllegalArgumentException("Config must not be null.");
         }
-        final String name = "ThreadPool-" + UUID.randomUUID().toString();
+        final String name = "ThreadPool-" + UUID.randomUUID().toString() +
+             (label == null ? "" : " (" + label + ")");
         final Entry entry = new Entry(null, config, name);
         synchronized ( this.pools ) {
             this.pools.put(name, entry);

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.