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:24:57 UTC
[sling-org-apache-sling-commons-threads] annotated tag
org.apache.sling.commons.threads-2.0.4-incubator created (now 86a1c90)
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a change to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git.
at 86a1c90 (tag)
tagging 07437df036346ad655b0ffb562717c7589aa3c36 (commit)
by Felix Meschberger
on Thu Jun 18 09:21:02 2009 +0000
- Log -----------------------------------------------------------------
org.apache.sling.commons.threads-2.0.4-incubator
-----------------------------------------------------------------------
This annotated tag includes the following new commits:
new cdf4581 Add new threads module for providing thread pools.
new c3a54e0 Set svn:ignore
new 6569a93 Use thread pool to create new threads instead of directly instantiating threads.
new a216040 Create own thread pool for eventing.
new 5dfc716 Use thread pooling for scheduler as well. Create own pool for eventing.
new f8c7fb7 Use jvm default thread factory and always provide priority and daemon settings.
new a5761c4 Use thread pool configuration object to be extensible.
new b9020b0 Move licence and notice to top level dir.
new e413af3 Add incubator disclaimer.
new 1597daa Add notice files.
new 3020eb2 Write first element in pom in one line (to avoid problems with the maven release plugin) and minor pom fixes.
new 2c687bd Update notice files.
new 4c666b9 SLING-417: Move sling/threads to commons/threads
new 8d1f9f1 SLING-417: Move threads to commons.
new 23e3268 Eclude maven-eclipse.xml generated by the maven eclipse plugin.
new 5fa8b5a SLING-442: Clean up exports, imports, dependencies and used plugins.
new f7b228d SLING-479 Fix @scr.tags: - normalize metadata attribute settings to "no" - ensure proper metadata and ds attributes are set - create metatype.properties files where required - fix metatype.properties files
new b8442a7 SLING-483: Add excludes for javadocs (WiP)
new f31810f SLING-495 - NOTICE files generated using mknotice script
new 7a30ca2 SLING-495 - NOTICE files updated according to changes in revision 662927
new fc95c64 SLING-495 - NOTICE files regenerated with revision 663097 changes
new 601db57 Use released version of parent pom.
new e4986f9 [maven-release-plugin] prepare release org.apache.sling.commons.threads-2.0.0-incubator
new 7097543 [maven-release-plugin] prepare for next development iteration
new bac4721 Fix reference to parent pom.
new 88286dd SLING-521: Restore more notice files.
new dc0cc02 SLING-521: Separate between notice files for bin and src dists.
new 82242fd SLING-521: Separate between notice files for bin and src dists.
new 64c2458 SLING-521: Separate between notice files for bin and src dists.
new b29c28c Change copyright year to 2008.
new 88db633 Update to released versions.
new 3aaff93 [maven-release-plugin] prepare release org.apache.sling.commons.threads-2.0.2-incubator
new c5e1a11 [maven-release-plugin] prepare for next development iteration
new bac3bfb Use latest snapshots again to make project buildable.
new 0720836 Use released parent pom where possible.
new bb289e6 SLING-555 : Update all poms to use the latest parent pom; update parent pom to include the incubator repo for plugins and use latest plugins.
new daee250 SLING-758 : Correctly evaluate block policy and use the correct handler.
new 194ca0d Add more logging to easier detect pool problems.
new 21e9144 SLING-808 : Increase version to 5-incubator-SNAPSHOT
new 3ad9b97 Update notice files to include 2009 in copyright statement.
new 58081a1 SLING-829 Cosmetics to the bundle/project names
new 3a9b17c SLING-865 : Move to bundles
new ae528ef SLING-865 : Adjust reactor pom and svn information in each module.
new 6807294 SLING-865 : Adjust path to parent pom and add profiles for samples and contrib
new a3c6e3b [maven-release-plugin] copy for tag org.apache.sling.commons.threads-2.0.4-incubator
new 72f4ebe Move Sling to new TLP location
new 07437df Move Sling to new TLP location
The 47 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
--
To stop receiving notification emails like this one, please contact
['"commits@sling.apache.org" <co...@sling.apache.org>'].
[sling-org-apache-sling-commons-threads] 10/17: Update notice files
to include 2009 in copyright statement.
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit 3ad9b97bc56708d933c702fc8574d96fe3f77285
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Jan 7 09:07:02 2009 +0000
Update notice files to include 2009 in copyright statement.
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads@732280 13f79535-47bb-0310-9956-ffa450edef68
---
NOTICE | 2 +-
src/main/resources/META-INF/NOTICE | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/NOTICE b/NOTICE
index 3a4d87e..6bd7482 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
Apache Sling Threads
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
Apache Sling is based on source code originally developed
by Day Software (http://www.day.com/).
diff --git a/src/main/resources/META-INF/NOTICE b/src/main/resources/META-INF/NOTICE
index 3a4d87e..6bd7482 100644
--- a/src/main/resources/META-INF/NOTICE
+++ b/src/main/resources/META-INF/NOTICE
@@ -1,5 +1,5 @@
Apache Sling Threads
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
Apache Sling is based on source code originally developed
by Day Software (http://www.day.com/).
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 14/17: SLING-865 : Adjust
path to parent pom and add profiles for samples and contrib
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit 6807294a7a8b98f9ca80290e3b237a5980571b33
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Sun Feb 22 15:19:05 2009 +0000
SLING-865 : Adjust path to parent pom and add profiles for samples and contrib
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/bundles/commons/threads@746728 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index df38807..aa97135 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
<version>5-incubator-SNAPSHOT</version>
- <relativePath>../../parent/pom.xml</relativePath>
+ <relativePath>../../../parent/pom.xml</relativePath>
</parent>
<artifactId>org.apache.sling.commons.threads</artifactId>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 16/17: Move Sling to new
TLP location
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit 72f4ebec4252ae0c30c43cbb9c3b47eb07c62dfb
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Thu Jun 18 09:21:02 2009 +0000
Move Sling to new TLP location
git-svn-id: https://svn.eu.apache.org/repos/asf/sling/tags/org.apache.sling.commons.threads-2.0.4-incubator@785979 13f79535-47bb-0310-9956-ffa450edef68
---
LICENSE | 202 +++++++++++++++++++++
NOTICE | 8 +
README.txt | 36 ++++
pom.xml | 91 ++++++++++
.../apache/sling/commons/threads/ThreadPool.java | 44 +++++
.../sling/commons/threads/ThreadPoolConfig.java | 202 +++++++++++++++++++++
.../sling/commons/threads/ThreadPoolManager.java | 56 ++++++
.../commons/threads/impl/DefaultThreadPool.java | 201 ++++++++++++++++++++
.../threads/impl/DefaultThreadPoolManager.java | 133 ++++++++++++++
.../threads/impl/ExtendedThreadFactory.java | 79 ++++++++
src/main/resources/META-INF/DISCLAIMER | 7 +
src/main/resources/META-INF/LICENSE | 202 +++++++++++++++++++++
src/main/resources/META-INF/NOTICE | 8 +
13 files changed, 1269 insertions(+)
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..6bd7482
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,8 @@
+Apache Sling Threads
+Copyright 2008-2009 The Apache Software Foundation
+
+Apache Sling is based on source code originally developed
+by Day Software (http://www.day.com/).
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..37ca813
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,36 @@
+Apache Sling Threads
+
+Support for thread handling like pooling.
+
+Disclaimer
+==========
+Apache Sling is an effort undergoing incubation at The Apache Software Foundation (ASF),
+sponsored by the Apache Jackrabbit PMC. Incubation is required of all newly accepted
+projects until a further review indicates that the infrastructure, communications,
+and decision making process have stabilized in a manner consistent with other
+successful ASF projects. While incubation status is not necessarily a reflection of
+the completeness or stability of the code, it does indicate that the project has yet
+to be fully endorsed by the ASF.
+
+Getting Started
+===============
+
+This component uses a Maven 2 (http://maven.apache.org/) build
+environment. It requires a Java 5 JDK (or higher) and Maven (http://maven.apache.org/)
+2.0.7 or later. We recommend to use the latest Maven version.
+
+If you have Maven 2 installed, you can compile and
+package the jar using the following command:
+
+ mvn package
+
+See the Maven 2 documentation for other build features.
+
+The latest source code for this component is available in the
+Subversion (http://subversion.tigris.org/) source repository of
+the Apache Software Foundation. If you have Subversion installed,
+you can checkout the latest source using the following command:
+
+ svn checkout http://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads
+
+See the Subversion documentation for other source control features.
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..d3f3290
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>sling</artifactId>
+ <version>5-incubator</version>
+ <relativePath>../../../parent/pom.xml</relativePath>
+ </parent>
+
+ <artifactId>org.apache.sling.commons.threads</artifactId>
+ <packaging>bundle</packaging>
+ <version>2.0.4-incubator</version>
+
+ <name>Apache Sling Thread Support</name>
+ <description>
+ Support for thread handling like pooling.
+ </description>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.commons.threads-2.0.4-incubator</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.commons.threads-2.0.4-incubator</developerConnection>
+ <url>http://svn.apache.org/viewvc/incubator/sling/tags/org.apache.sling.commons.threads-2.0.4-incubator</url>
+ </scm>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Export-Package>
+ org.apache.sling.commons.threads;version=${pom.version}
+ </Export-Package>
+ <Private-Package>
+ org.apache.sling.commons.threads.impl
+ </Private-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <excludePackageNames>
+ org.apache.sling.commons.threads.impl
+ </excludePackageNames>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/src/main/java/org/apache/sling/commons/threads/ThreadPool.java b/src/main/java/org/apache/sling/commons/threads/ThreadPool.java
new file mode 100644
index 0000000..e99c13e
--- /dev/null
+++ b/src/main/java/org/apache/sling/commons/threads/ThreadPool.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.commons.threads;
+
+/**
+ * The ThreadPool interface allows to start runnables by
+ * getting threads from a managed pool.
+ *
+ * @version $Id$
+ */
+public interface ThreadPool {
+
+ /**
+ * Execute a runnable
+ * @param runnable The {@link Runnable} to execute
+ */
+ void execute(Runnable runnable);
+
+ /**
+ * The name of the thread pool.
+ */
+ String getName();
+
+ /**
+ * Shut down the thread pool.
+ */
+ void shutdown();
+
+ ThreadPoolConfig getConfiguration();
+}
diff --git a/src/main/java/org/apache/sling/commons/threads/ThreadPoolConfig.java b/src/main/java/org/apache/sling/commons/threads/ThreadPoolConfig.java
new file mode 100644
index 0000000..1274aaa
--- /dev/null
+++ b/src/main/java/org/apache/sling/commons/threads/ThreadPoolConfig.java
@@ -0,0 +1,202 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.commons.threads;
+
+import java.util.concurrent.ThreadFactory;
+
+/**
+ * The ThreadPool configuration.
+ *
+ * @version $Id$
+ */
+public final class ThreadPoolConfig {
+
+ /** The thread pool policies. */
+ public enum ThreadPoolPolicy {
+ ABORT,
+ DISCARD,
+ DISCARDOLDEST,
+ RUN
+ };
+
+ public enum ThreadPriority {
+ NORM,
+ MIN,
+ MAX
+ };
+
+ /** The min pool size. */
+ private int minPoolSize = 5;
+
+ /** The max pool size. */
+ private int maxPoolSize = 5;
+
+ /** The queue size */
+ private int queueSize = -1;
+
+ /** The keep alive time. */
+ private long keepAliveTime = 60000L;
+
+ /** The thread pool policy. Default is RUN. */
+ private ThreadPoolPolicy blockPolicy = ThreadPoolPolicy.RUN;
+
+ private boolean shutdownGraceful = false;
+
+ private int shutdownWaitTimeMs = -1;
+
+ private ThreadFactory factory;
+
+ private ThreadPriority priority = ThreadPriority.NORM;
+
+ private boolean isDaemon = false;
+
+ /** Can this configuration still be changed? */
+ private boolean isWritable = true;
+
+ /**
+ * Create a new default configuration.
+ */
+ public ThreadPoolConfig() {
+ // nothing to do
+ }
+
+ /**
+ * Clone an existing configuration
+ * @param copy The config to clone
+ */
+ public ThreadPoolConfig(ThreadPoolConfig copy) {
+ this.minPoolSize = copy.minPoolSize;
+ this.maxPoolSize = copy.maxPoolSize;
+ this.queueSize = copy.queueSize;
+ this.keepAliveTime = copy.keepAliveTime;
+ this.blockPolicy = copy.blockPolicy;
+ this.shutdownGraceful = copy.shutdownGraceful;
+ this.shutdownWaitTimeMs = copy.shutdownWaitTimeMs;
+ this.factory = copy.factory;
+ this.priority = copy.priority;
+ this.isDaemon = copy.isDaemon;
+ }
+
+ protected void checkWritable() {
+ if ( !isWritable ) {
+ throw new IllegalStateException("ThreadPoolConfig is read-only.");
+ }
+ }
+
+ /**
+ * Make the configuration read-only.
+ */
+ public void makeReadOnly() {
+ this.isWritable = false;
+ }
+
+ public int getMinPoolSize() {
+ return minPoolSize;
+ }
+
+ public void setMinPoolSize(int minPoolSize) {
+ this.checkWritable();
+ this.minPoolSize = minPoolSize;
+ }
+
+ public int getMaxPoolSize() {
+ return maxPoolSize;
+ }
+
+ public void setMaxPoolSize(int maxPoolSize) {
+ this.checkWritable();
+ this.maxPoolSize = maxPoolSize;
+ }
+
+ public int getQueueSize() {
+ return queueSize;
+ }
+
+ public void setQueueSize(int queueSize) {
+ this.checkWritable();
+ this.queueSize = queueSize;
+ }
+
+ public long getKeepAliveTime() {
+ return keepAliveTime;
+ }
+
+ public void setKeepAliveTime(long keepAliveTime) {
+ this.checkWritable();
+ this.keepAliveTime = keepAliveTime;
+ }
+
+ public ThreadPoolPolicy getBlockPolicy() {
+ return blockPolicy;
+ }
+
+ public void setBlockPolicy(ThreadPoolPolicy blockPolicy) {
+ this.checkWritable();
+ this.blockPolicy = blockPolicy;
+ if ( blockPolicy == null ) {
+ throw new IllegalArgumentException("Policy must not be null.");
+ }
+ }
+
+ public boolean isShutdownGraceful() {
+ return shutdownGraceful;
+ }
+
+ public void setShutdownGraceful(boolean shutdownGraceful) {
+ this.checkWritable();
+ this.shutdownGraceful = shutdownGraceful;
+ }
+
+ public int getShutdownWaitTimeMs() {
+ return shutdownWaitTimeMs;
+ }
+
+ public void setShutdownWaitTimeMs(int shutdownWaitTimeMs) {
+ this.checkWritable();
+ this.shutdownWaitTimeMs = shutdownWaitTimeMs;
+ }
+
+ public ThreadFactory getFactory() {
+ return factory;
+ }
+
+ public void setFactory(ThreadFactory factory) {
+ this.checkWritable();
+ this.factory = factory;
+ }
+
+ public ThreadPriority getPriority() {
+ return priority;
+ }
+
+ public void setPriority(ThreadPriority priority) {
+ this.checkWritable();
+ if ( priority == null ) {
+ throw new IllegalArgumentException("Priority must not be null.");
+ }
+ this.priority = priority;
+ }
+
+ public boolean isDaemon() {
+ return isDaemon;
+ }
+
+ public void setDaemon(boolean isDaemon) {
+ this.checkWritable();
+ this.isDaemon = isDaemon;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java b/src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java
new file mode 100644
index 0000000..fc9c060
--- /dev/null
+++ b/src/main/java/org/apache/sling/commons/threads/ThreadPoolManager.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.commons.threads;
+
+
+/**
+ * The <cod>ThreadPoolManager</code> manages thread pools.
+ *
+ * @version $Id$
+ */
+public interface ThreadPoolManager {
+
+ /** The default thread pool name */
+ String DEFAULT_THREADPOOL_NAME = "default";
+
+ /**
+ * Add a new pool.
+ * If a pool with the same name already exists, the new pool is not added
+ * and false is returned.
+ * @param pool The pool.
+ * @return True if the pool could be added, false otherwise.
+ */
+ boolean add(ThreadPool pool);
+
+ /**
+ * Get a thread pool.
+ * If there is no thread pool with the given name, the default thread
+ * pool is returned.
+ * @param name The name of the thread pool or null for the default pool.
+ */
+ ThreadPool get(String name);
+
+ /**
+ * Create a new thread pool.
+ * If a pool with the same name already exists, no new pool is created
+ * and <code>null</code> is returned.
+ * @param name Name must not be null.
+ * @param config The thread pool configuration.
+ */
+ ThreadPool create(String name,
+ ThreadPoolConfig config);
+}
diff --git a/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPool.java b/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPool.java
new file mode 100644
index 0000000..b75608f
--- /dev/null
+++ b/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPool.java
@@ -0,0 +1,201 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.commons.threads.impl;
+
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.Executors;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.RejectedExecutionHandler;
+import java.util.concurrent.SynchronousQueue;
+import java.util.concurrent.ThreadFactory;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.sling.commons.threads.ThreadPool;
+import org.apache.sling.commons.threads.ThreadPoolConfig;
+import org.apache.sling.commons.threads.ThreadPoolManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * The DefaultThreadPool class implements the {@link ThreadPool} interface.
+ * Instances of this class are managed by the {@link ThreadPoolManager}.
+ *
+ * @version $Id$
+ */
+public class DefaultThreadPool
+ implements ThreadPool {
+
+ /** By default we use the logger for this class. */
+ protected final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+ /** The name of this thread pool */
+ protected final String name;
+
+ /** The executor. */
+ protected ThreadPoolExecutor executor;
+
+ protected final ThreadPoolConfig configuration;
+
+ /**
+ * Create a new thread pool.
+ * @param name - The name of the thread pool. If null {@link DefaultThreadPoolManager#DEFAULT_THREADPOOL_NAME}
+ * is used
+ */
+ public DefaultThreadPool(final String name,
+ ThreadPoolConfig origConfig) {
+ this.logger.info("ThreadPool [{}] initializing ...", name);
+
+ // name
+ if ( name != null ) {
+ this.name = name;
+ } else {
+ this.name = DefaultThreadPoolManager.DEFAULT_THREADPOOL_NAME;
+ }
+
+ this.configuration = new ThreadPoolConfig(origConfig);
+
+ // factory
+ final ThreadFactory delegateThreadFactory;
+ if (this.configuration.getFactory() == null) {
+ logger.warn("No ThreadFactory is configured. Will use JVM default thread factory."
+ + ExtendedThreadFactory.class.getName());
+ delegateThreadFactory = Executors.defaultThreadFactory();
+ } else {
+ delegateThreadFactory = this.configuration.getFactory();
+ }
+ // Min pool size
+ if (this.configuration.getMinPoolSize() < 1) {
+ this.configuration.setMinPoolSize(1);
+ this.logger.warn("min-pool-size < 1 for pool \"" + name + "\". Set to 1");
+ }
+ // Max pool size
+ if ( this.configuration.getMaxPoolSize() < 0 ) {
+ this.configuration.setMaxPoolSize(Integer.MAX_VALUE);
+ }
+
+ // Set priority and daemon flag
+ final ExtendedThreadFactory threadFactory = new ExtendedThreadFactory(delegateThreadFactory, this.configuration.getPriority(), this.configuration.isDaemon());
+
+ // Keep alive time
+ if (this.configuration.getKeepAliveTime() < 0) {
+ this.configuration.setKeepAliveTime(1000);
+ this.logger.warn("keep-alive-time-ms < 0 for pool \"" + name + "\". Set to 1000");
+ }
+
+ // Queue
+ final BlockingQueue<Runnable> queue;
+ if (this.configuration.getQueueSize() != 0) {
+ if (this.configuration.getQueueSize() > 0) {
+ queue = new java.util.concurrent.ArrayBlockingQueue<Runnable>(this.configuration.getQueueSize());
+ } else {
+ queue = new LinkedBlockingQueue<Runnable>();
+ }
+ } else {
+ queue = new SynchronousQueue<Runnable>();
+ }
+
+ RejectedExecutionHandler handler = null;
+ switch (this.configuration.getBlockPolicy()) {
+ case ABORT :
+ handler = new ThreadPoolExecutor.AbortPolicy();
+ break;
+ case DISCARD :
+ handler = new ThreadPoolExecutor.DiscardPolicy();
+ break;
+ case DISCARDOLDEST :
+ handler = new ThreadPoolExecutor.DiscardOldestPolicy();
+ break;
+ case RUN :
+ handler = new ThreadPoolExecutor.CallerRunsPolicy();
+ break;
+ }
+ this.executor = new ThreadPoolExecutor(this.configuration.getMinPoolSize(),
+ this.configuration.getMaxPoolSize(),
+ this.configuration.getKeepAliveTime(),
+ TimeUnit.MILLISECONDS,
+ queue,
+ threadFactory,
+ handler);
+ this.configuration.makeReadOnly();
+ this.logger.info("ThreadPool [{}] initialized.", name);
+ }
+
+ /**
+ * @see org.apache.sling.commons.threads.ThreadPool#getName()
+ */
+ public String getName() {
+ return name;
+ }
+
+
+ /**
+ * @see org.apache.sling.commons.threads.ThreadPool#getConfiguration()
+ */
+ public ThreadPoolConfig getConfiguration() {
+ return this.configuration;
+ }
+
+ /**
+ * @see org.apache.sling.commons.threads.ThreadPool#execute(java.lang.Runnable)
+ */
+ public void execute(Runnable runnable) {
+ if ( this.executor == null ) {
+ throw new IllegalStateException("Thread pool " + this.name + " is already shutdown.");
+ }
+ if ( runnable != null ) {
+ if ( this.logger.isDebugEnabled() ) {
+ this.logger.debug("Executing runnable: {}, pool={}, corePoolSize={}, maxPoolSize={}, queueSize={}",
+ new Object[] {runnable,
+ this.name,
+ this.executor.getCorePoolSize(),
+ this.executor.getMaximumPoolSize(),
+ this.executor.getQueue().size()});
+ }
+
+ this.executor.execute(runnable);
+ }
+ }
+
+ /**
+ * @see org.apache.sling.commons.threads.ThreadPool#shutdown()
+ */
+ public void shutdown() {
+ if ( this.executor != null ) {
+ if (this.configuration.isShutdownGraceful()) {
+ this.executor.shutdown();
+ } else {
+ this.executor.shutdownNow();
+ }
+
+ try {
+ if (this.configuration.getShutdownWaitTimeMs() > 0) {
+ if (!this.executor.awaitTermination(this.configuration.getShutdownWaitTimeMs(), TimeUnit.MILLISECONDS)) {
+ logger.warn("running commands have not terminated within "
+ + this.configuration.getShutdownWaitTimeMs()
+ + "ms. Will shut them down by interruption");
+ this.executor.shutdownNow();
+ }
+ }
+ } catch (final InterruptedException ie) {
+ this.logger.error("Cannot shutdown ThreadPool", ie);
+ }
+ this.executor = null;
+ }
+ }
+}
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
new file mode 100644
index 0000000..4ed4811
--- /dev/null
+++ b/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPoolManager.java
@@ -0,0 +1,133 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.commons.threads.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.sling.commons.threads.ThreadPool;
+import org.apache.sling.commons.threads.ThreadPoolConfig;
+import org.apache.sling.commons.threads.ThreadPoolManager;
+import org.osgi.service.component.ComponentContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The DefaultThreadPoolManager implements the {@link ThreadPoolManager} interface
+ * and is responsible to manage {@link ThreadPool}s.
+ *
+ * @scr.component metatype="no"
+ * @scr.service interface="org.apache.sling.commons.threads.ThreadPoolManager"
+ *
+ * @version $Id$
+ */
+public class DefaultThreadPoolManager implements ThreadPoolManager {
+
+ /** By default we use the logger for this class. */
+ protected Logger logger = LoggerFactory.getLogger(getClass());
+
+ /** The managed thread pools */
+ protected final Map<String, ThreadPool> pools = new HashMap<String, ThreadPool>();
+
+ /**
+ * Activate this component.
+ */
+ protected void activate(ComponentContext context) throws Exception {
+ this.logger.info("Starting thread pool manager.");
+ final ThreadPool defaultPool = new DefaultThreadPool(
+ DEFAULT_THREADPOOL_NAME,
+ new ThreadPoolConfig());
+ synchronized ( this.pools ) {
+ this.pools.put(defaultPool.getName(), defaultPool);
+ }
+ this.logger.info("Thread pool manager startet with default pool.");
+ }
+
+ /**
+ * Deactivate this component.
+ */
+ protected void deactivate(ComponentContext context) throws Exception {
+ this.logger.info("Stopping thread pool manager.");
+ this.logger.debug("Disposing all thread pools");
+
+ synchronized ( this.pools ) {
+ for (ThreadPool pool : this.pools.values()) {
+ this.logger.debug("Shutting down thread pool {}", pool.getName());
+
+ pool.shutdown();
+
+ this.logger.debug("Thread pool " + pool.getName() + " is shut down.");
+ }
+ this.pools.clear();
+ }
+ this.logger.info("Thread pool manager stopped.");
+ }
+
+ /**
+ * @see org.apache.sling.commons.threads.ThreadPoolManager#add(org.apache.sling.commons.threads.ThreadPool)
+ */
+ public boolean add(ThreadPool pool) {
+ synchronized ( this.pools ) {
+ if (null != pools.get(pool.getName())) {
+ return false;
+ }
+ pools.put(pool.getName(), pool);
+ }
+ return true;
+ }
+
+ /**
+ * @see org.apache.sling.commons.threads.ThreadPoolManager#get(java.lang.String)
+ */
+ public ThreadPool get(String name) {
+ if ( name == null ) {
+ name = DEFAULT_THREADPOOL_NAME;
+ }
+ synchronized (this.pools) {
+ ThreadPool pool = this.pools.get(name);
+ if ( pool == null && !(name.equals(DEFAULT_THREADPOOL_NAME))) {
+ this.logger.info("Requested pool {} is not available, returning default pool.", name);
+ pool = this.pools.get(DEFAULT_THREADPOOL_NAME);
+ }
+ return pool;
+ }
+ }
+
+ /**
+ * @see org.apache.sling.commons.threads.ThreadPoolManager#create(java.lang.String, org.apache.sling.commons.threads.ThreadPoolConfig)
+ */
+ public ThreadPool create(String name,
+ ThreadPoolConfig config) {
+ if ( name == null ) {
+ throw new IllegalArgumentException("Name must not be null.");
+ }
+ if ( config == null ) {
+ throw new IllegalArgumentException("Config must not be null.");
+ }
+ synchronized ( this.pools ) {
+ ThreadPool pool = this.pools.get(name);
+ if ( pool != null ) {
+ // pool already exists
+ return null;
+ }
+ pool = new DefaultThreadPool(name, config);
+ this.pools.put(name, pool);
+ return pool;
+ }
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/commons/threads/impl/ExtendedThreadFactory.java b/src/main/java/org/apache/sling/commons/threads/impl/ExtendedThreadFactory.java
new file mode 100644
index 0000000..b213fd8
--- /dev/null
+++ b/src/main/java/org/apache/sling/commons/threads/impl/ExtendedThreadFactory.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.commons.threads.impl;
+
+import java.util.concurrent.ThreadFactory;
+
+import org.apache.sling.commons.threads.ThreadPoolConfig;
+
+
+/**
+ * This class is responsible to create new Thread instances.
+ * It's a very basic implementation.
+ *
+ * @version $Id$
+ */
+public final class ExtendedThreadFactory implements ThreadFactory {
+
+ /** The daemon mode */
+ private final boolean isDaemon;
+
+ /** The priority of newly created Threads */
+ private final int priority;
+
+ /** The real factory. */
+ private final ThreadFactory factory;
+
+ /**
+ * Create a new wrapper for a thread factory handling the
+ *
+ * @param priority A non null value.
+ * @param isDaemon Whether new {@link Thread}s should run as daemons.
+ */
+ public ExtendedThreadFactory(final ThreadFactory factory,
+ final ThreadPoolConfig.ThreadPriority priority,
+ final boolean isDaemon) {
+ this.isDaemon = isDaemon;
+ if ( priority == null ) {
+ throw new IllegalStateException("Prioriy must not be null.");
+ }
+ switch ( priority ) {
+ case NORM : this.priority = Thread.NORM_PRIORITY;
+ break;
+ case MIN : this.priority = Thread.MIN_PRIORITY;
+ break;
+ case MAX : this.priority = Thread.MAX_PRIORITY;
+ break;
+ default: // this can never happen
+ this.priority = Thread.NORM_PRIORITY;
+ break;
+ }
+ this.factory = factory;
+ }
+
+ /**
+ * Invoke the thread factory and set the daemon flag and priority.
+ * @see java.util.concurrent.ThreadFactory#newThread(java.lang.Runnable)
+ */
+ public Thread newThread( final Runnable command ) {
+ final Thread thread = this.factory.newThread(command);
+ thread.setPriority( this.priority );
+ thread.setDaemon( this.isDaemon );
+
+ return thread;
+ }
+}
diff --git a/src/main/resources/META-INF/DISCLAIMER b/src/main/resources/META-INF/DISCLAIMER
new file mode 100644
index 0000000..90850c2
--- /dev/null
+++ b/src/main/resources/META-INF/DISCLAIMER
@@ -0,0 +1,7 @@
+Apache Sling is an effort undergoing incubation at The Apache Software Foundation (ASF),
+sponsored by the Apache Jackrabbit PMC. Incubation is required of all newly accepted
+projects until a further review indicates that the infrastructure, communications,
+and decision making process have stabilized in a manner consistent with other
+successful ASF projects. While incubation status is not necessarily a reflection of
+the completeness or stability of the code, it does indicate that the project has yet
+to be fully endorsed by the ASF.
\ No newline at end of file
diff --git a/src/main/resources/META-INF/LICENSE b/src/main/resources/META-INF/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/src/main/resources/META-INF/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/src/main/resources/META-INF/NOTICE b/src/main/resources/META-INF/NOTICE
new file mode 100644
index 0000000..6bd7482
--- /dev/null
+++ b/src/main/resources/META-INF/NOTICE
@@ -0,0 +1,8 @@
+Apache Sling Threads
+Copyright 2008-2009 The Apache Software Foundation
+
+Apache Sling is based on source code originally developed
+by Day Software (http://www.day.com/).
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 11/17: SLING-829 Cosmetics
to the bundle/project names
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit 58081a1d64960217c996c907b74e4f0fe346aa2c
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Thu Jan 15 10:25:41 2009 +0000
SLING-829 Cosmetics to the bundle/project names
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads@734658 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index a7b85fc..5ea98af 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
<packaging>bundle</packaging>
<version>2.0.3-incubator-SNAPSHOT</version>
- <name>Sling - Thread Support</name>
+ <name>Apache Sling Thread Support</name>
<description>
Support for thread handling like pooling.
</description>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 02/17:
[maven-release-plugin] prepare release
org.apache.sling.commons.threads-2.0.2-incubator
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit 3aaff93cea65c079c2ed73894c861aacf9739edc
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Jun 17 07:07:34 2008 +0000
[maven-release-plugin] prepare release org.apache.sling.commons.threads-2.0.2-incubator
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads@668431 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/pom.xml b/pom.xml
index aeae67b..324059e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
<artifactId>org.apache.sling.commons.threads</artifactId>
<packaging>bundle</packaging>
- <version>2.0.1-incubator-SNAPSHOT</version>
+ <version>2.0.2-incubator</version>
<name>Sling - Thread Support</name>
<description>
@@ -37,9 +37,9 @@
</description>
<scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads</developerConnection>
- <url>http://svn.apache.org/viewvc/incubator/sling/trunk/commons/threads</url>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.commons.threads-2.0.2-incubator</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.commons.threads-2.0.2-incubator</developerConnection>
+ <url>http://svn.apache.org/viewvc/incubator/sling/tags/org.apache.sling.commons.threads-2.0.2-incubator</url>
</scm>
<build>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 15/17:
[maven-release-plugin] copy for tag
org.apache.sling.commons.threads-2.0.4-incubator
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit a3c6e3b4e87f86536acfe6284e2a955e9f71ab2c
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue May 5 15:22:48 2009 +0000
[maven-release-plugin] copy for tag org.apache.sling.commons.threads-2.0.4-incubator
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.commons.threads-2.0.4-incubator@771797 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/pom.xml b/pom.xml
index aa97135..d3f3290 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,13 +23,13 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>5-incubator-SNAPSHOT</version>
+ <version>5-incubator</version>
<relativePath>../../../parent/pom.xml</relativePath>
</parent>
<artifactId>org.apache.sling.commons.threads</artifactId>
<packaging>bundle</packaging>
- <version>2.0.3-incubator-SNAPSHOT</version>
+ <version>2.0.4-incubator</version>
<name>Apache Sling Thread Support</name>
<description>
@@ -37,9 +37,9 @@
</description>
<scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/trunk/bundles/commons/threads</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/trunk/bundles/commons/threads</developerConnection>
- <url>http://svn.apache.org/viewvc/incubator/sling/trunk/bundles/commons/threads</url>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.commons.threads-2.0.4-incubator</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.commons.threads-2.0.4-incubator</developerConnection>
+ <url>http://svn.apache.org/viewvc/incubator/sling/tags/org.apache.sling.commons.threads-2.0.4-incubator</url>
</scm>
<build>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 01/17: Update to released
versions.
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit 88db6333ea3489a7cad1d2e05ad2fb9b88e35121
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Jun 17 06:57:15 2008 +0000
Update to released versions.
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads@668413 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 8446ab3..aeae67b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>2-incubator-SNAPSHOT</version>
+ <version>3-incubator</version>
<relativePath>../../parent/pom.xml</relativePath>
</parent>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 03/17:
[maven-release-plugin] prepare for next development iteration
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit c5e1a116620a61c0ec3af8ecef1e4f8e256fda1b
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Jun 17 07:07:44 2008 +0000
[maven-release-plugin] prepare for next development iteration
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads@668433 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/pom.xml b/pom.xml
index 324059e..20ed1a6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
<artifactId>org.apache.sling.commons.threads</artifactId>
<packaging>bundle</packaging>
- <version>2.0.2-incubator</version>
+ <version>2.0.3-incubator-SNAPSHOT</version>
<name>Sling - Thread Support</name>
<description>
@@ -37,9 +37,9 @@
</description>
<scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.commons.threads-2.0.2-incubator</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.commons.threads-2.0.2-incubator</developerConnection>
- <url>http://svn.apache.org/viewvc/incubator/sling/tags/org.apache.sling.commons.threads-2.0.2-incubator</url>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads</developerConnection>
+ <url>http://svn.apache.org/viewvc/incubator/sling/trunk/commons/threads</url>
</scm>
<build>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 12/17: SLING-865 : Move to
bundles
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit 3a9b17c9c83023bb79a9b96bb423e263734108c3
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Sun Feb 22 13:42:19 2009 +0000
SLING-865 : Move to bundles
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/bundles/commons/threads@746675 13f79535-47bb-0310-9956-ffa450edef68
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 07/17: SLING-758 :
Correctly evaluate block policy and use the correct handler.
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit daee250474669308140906b60eead165b806afd1
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Thu Dec 4 13:11:27 2008 +0000
SLING-758 : Correctly evaluate block policy and use the correct handler.
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads@723309 13f79535-47bb-0310-9956-ffa450edef68
---
.../org/apache/sling/commons/threads/impl/DefaultThreadPool.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPool.java b/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPool.java
index 7c19c75..80f4617 100644
--- a/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPool.java
+++ b/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPool.java
@@ -116,13 +116,13 @@ public class DefaultThreadPool
handler = new ThreadPoolExecutor.AbortPolicy();
break;
case DISCARD :
- handler = new ThreadPoolExecutor.AbortPolicy();
+ handler = new ThreadPoolExecutor.DiscardPolicy();
break;
case DISCARDOLDEST :
- handler = new ThreadPoolExecutor.AbortPolicy();
+ handler = new ThreadPoolExecutor.DiscardOldestPolicy();
break;
case RUN :
- handler = new ThreadPoolExecutor.AbortPolicy();
+ handler = new ThreadPoolExecutor.CallerRunsPolicy();
break;
}
this.executor = new ThreadPoolExecutor(this.configuration.getMinPoolSize(),
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 08/17: Add more logging to
easier detect pool problems.
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit 194ca0d4c890d9be088d71cd7ab0f57d1f1ebfb3
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Dec 9 17:23:28 2008 +0000
Add more logging to easier detect pool problems.
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads@724788 13f79535-47bb-0310-9956-ffa450edef68
---
.../org/apache/sling/commons/threads/impl/DefaultThreadPool.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPool.java b/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPool.java
index 80f4617..b75608f 100644
--- a/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPool.java
+++ b/src/main/java/org/apache/sling/commons/threads/impl/DefaultThreadPool.java
@@ -159,7 +159,14 @@ public class DefaultThreadPool
throw new IllegalStateException("Thread pool " + this.name + " is already shutdown.");
}
if ( runnable != null ) {
- this.logger.debug("Executing runnable: {},pool={}", runnable, this.name);
+ if ( this.logger.isDebugEnabled() ) {
+ this.logger.debug("Executing runnable: {}, pool={}, corePoolSize={}, maxPoolSize={}, queueSize={}",
+ new Object[] {runnable,
+ this.name,
+ this.executor.getCorePoolSize(),
+ this.executor.getMaximumPoolSize(),
+ this.executor.getQueue().size()});
+ }
this.executor.execute(runnable);
}
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 06/17: SLING-555 : Update
all poms to use the latest parent pom;
update parent pom to include the incubator repo for plugins and use latest
plugins.
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit bb289e6c800a2c4ae19f015da951e32f198b5465
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Jul 21 14:24:25 2008 +0000
SLING-555 : Update all poms to use the latest parent pom; update parent pom to include the incubator repo for plugins and use latest plugins.
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads@678436 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 20ed1a6..10fb2c0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>3-incubator</version>
+ <version>4-incubator-SNAPSHOT</version>
<relativePath>../../parent/pom.xml</relativePath>
</parent>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 09/17: SLING-808 :
Increase version to 5-incubator-SNAPSHOT
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit 21e914406107f0a802543257b9e95997eebb44de
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Jan 5 11:07:35 2009 +0000
SLING-808 : Increase version to 5-incubator-SNAPSHOT
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads@731526 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 10fb2c0..a7b85fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>4-incubator-SNAPSHOT</version>
+ <version>5-incubator-SNAPSHOT</version>
<relativePath>../../parent/pom.xml</relativePath>
</parent>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 05/17: Use released parent
pom where possible.
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit 0720836a6038a7921b103f45988e3c3bbc4698ae
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Jun 23 12:07:27 2008 +0000
Use released parent pom where possible.
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads@670529 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 10fb2c0..20ed1a6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>4-incubator-SNAPSHOT</version>
+ <version>3-incubator</version>
<relativePath>../../parent/pom.xml</relativePath>
</parent>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 04/17: Use latest
snapshots again to make project buildable.
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit bac3bfb38e43a7b1f44f75c1391c2d88269a99c8
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Jun 17 08:55:12 2008 +0000
Use latest snapshots again to make project buildable.
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads@668571 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 20ed1a6..10fb2c0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>3-incubator</version>
+ <version>4-incubator-SNAPSHOT</version>
<relativePath>../../parent/pom.xml</relativePath>
</parent>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 13/17: SLING-865 : Adjust
reactor pom and svn information in each module.
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit ae528ef0dc1f5de0798d061e5e78465f9363af05
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Sun Feb 22 14:22:36 2009 +0000
SLING-865 : Adjust reactor pom and svn information in each module.
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/bundles/commons/threads@746707 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pom.xml b/pom.xml
index 5ea98af..df38807 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,9 +37,9 @@
</description>
<scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/trunk/commons/threads</developerConnection>
- <url>http://svn.apache.org/viewvc/incubator/sling/trunk/commons/threads</url>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/trunk/bundles/commons/threads</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/trunk/bundles/commons/threads</developerConnection>
+ <url>http://svn.apache.org/viewvc/incubator/sling/trunk/bundles/commons/threads</url>
</scm>
<build>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-commons-threads] 17/17: Move Sling to new
TLP location
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.commons.threads-2.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-threads.git
commit 07437df036346ad655b0ffb562717c7589aa3c36
Merge: 72f4ebe a3c6e3b
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Thu Jun 18 09:21:02 2009 +0000
Move Sling to new TLP location
git-svn-id: https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.commons.threads-2.0.4-incubator@785979 13f79535-47bb-0310-9956-ffa450edef68
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.