summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/DefaultWorkScheduler.java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/DefaultWorkScheduler.java')
-rw-r--r--sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/DefaultWorkScheduler.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/DefaultWorkScheduler.java b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/DefaultWorkScheduler.java
index 9e6f3b3087..380ca818c5 100644
--- a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/DefaultWorkScheduler.java
+++ b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/DefaultWorkScheduler.java
@@ -20,7 +20,9 @@ package org.apache.tuscany.sca.core.work.impl;
import java.security.AccessController;
import java.security.PrivilegedAction;
+import java.util.Map;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.LifeCycleListener;
import org.apache.tuscany.sca.work.NotificationListener;
import org.apache.tuscany.sca.work.WorkScheduler;
@@ -43,13 +45,20 @@ public class DefaultWorkScheduler implements WorkScheduler, LifeCycleListener {
* Underlying JSR-237 work manager
*/
private ThreadPoolWorkManager jsr237WorkManager;
+ private int maxThreads = 0;
/**
* Initializes the JSR 237 work manager.
*
* @param jsr237WorkManager JSR 237 work manager.
*/
- public DefaultWorkScheduler() {
+ public DefaultWorkScheduler(ExtensionPointRegistry registry, Map<String, String> attributes) {
+ if (attributes != null) {
+ String value = attributes.get("maxThreads");
+ if (value != null) {
+ maxThreads = Integer.parseInt(value.trim());
+ }
+ }
}
private synchronized ThreadPoolWorkManager getWorkManager() {
@@ -63,7 +72,7 @@ public class DefaultWorkScheduler implements WorkScheduler, LifeCycleListener {
// // ignore
// }
if (jsr237WorkManager == null) {
- jsr237WorkManager = new ThreadPoolWorkManager(0);
+ jsr237WorkManager = new ThreadPoolWorkManager(maxThreads);
}
return jsr237WorkManager;
}