You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2010/10/06 16:16:17 UTC
svn commit: r1005048 - in /sling/trunk/bundles/commons/threads: pom.xml
src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java
src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPoolManager.java
Author: cziegeler
Date: Wed Oct 6 14:16:16 2010
New Revision: 1005048
URL: http://svn.apache.org/viewvc?rev=1005048&view=rev
Log:
SLING-1821 : Custom thread pools should get an optional label
Modified:
sling/trunk/bundles/commons/threads/pom.xml
sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java
sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPoolManager.java
Modified: sling/trunk/bundles/commons/threads/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/threads/pom.xml?rev=1005048&r1=1005047&r2=1005048&view=diff
==============================================================================
--- sling/trunk/bundles/commons/threads/pom.xml (original)
+++ sling/trunk/bundles/commons/threads/pom.xml Wed Oct 6 14:16:16 2010
@@ -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
Modified: sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java?rev=1005048&r1=1005047&r2=1005048&view=diff
==============================================================================
--- sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java (original)
+++ sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java Wed Oct 6 14:16:16 2010
@@ -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);
Modified: sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPoolManager.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPoolManager.java?rev=1005048&r1=1005047&r2=1005048&view=diff
==============================================================================
--- sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPoolManager.java (original)
+++ sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPoolManager.java Wed Oct 6 14:16:16 2010
@@ -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);