You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2010/02/20 00:39:07 UTC

svn commit: r912035 - in /tuscany/sca-java-2.x/trunk/modules/core/src: main/java/org/apache/tuscany/sca/core/work/impl/ main/resources/META-INF/services/ test/java/org/apache/tuscany/sca/core/work/impl/

Author: rfeng
Date: Fri Feb 19 23:39:06 2010
New Revision: 912035

URL: http://svn.apache.org/viewvc?rev=912035&view=rev
Log:
Make the maxThreads a configurable property of WorkScheduler

Modified:
    tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/DefaultWorkScheduler.java
    tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/ThreadPoolWorkManager.java
    tuscany/sca-java-2.x/trunk/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.work.WorkScheduler
    tuscany/sca-java-2.x/trunk/modules/core/src/test/java/org/apache/tuscany/sca/core/work/impl/Jsr237WorkSchedulerTestCase.java

Modified: tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/DefaultWorkScheduler.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/DefaultWorkScheduler.java?rev=912035&r1=912034&r2=912035&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/DefaultWorkScheduler.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/DefaultWorkScheduler.java Fri Feb 19 23:39:06 2010
@@ -20,7 +20,9 @@
 
 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 @@
      * 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 @@
 //            // ignore
 //        }
         if (jsr237WorkManager == null) {
-            jsr237WorkManager = new ThreadPoolWorkManager(0);
+            jsr237WorkManager = new ThreadPoolWorkManager(maxThreads);
         }
         return jsr237WorkManager;
     }

Modified: tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/ThreadPoolWorkManager.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/ThreadPoolWorkManager.java?rev=912035&r1=912034&r2=912035&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/ThreadPoolWorkManager.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/work/impl/ThreadPoolWorkManager.java Fri Feb 19 23:39:06 2010
@@ -66,7 +66,7 @@
             // creates daemon threads.
             executor = Executors.newCachedThreadPool(factory);
         } else {
-            executor = Executors.newFixedThreadPool(threadPoolSize);
+            executor = Executors.newFixedThreadPool(threadPoolSize, factory);
         }
     }
 

Modified: tuscany/sca-java-2.x/trunk/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.work.WorkScheduler
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.work.WorkScheduler?rev=912035&r1=912034&r2=912035&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.work.WorkScheduler (original)
+++ tuscany/sca-java-2.x/trunk/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.work.WorkScheduler Fri Feb 19 23:39:06 2010
@@ -14,6 +14,4 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-
-org.apache.tuscany.sca.core.work.impl.DefaultWorkScheduler
-
+org.apache.tuscany.sca.core.work.impl.DefaultWorkScheduler;maxThreads=0

Modified: tuscany/sca-java-2.x/trunk/modules/core/src/test/java/org/apache/tuscany/sca/core/work/impl/Jsr237WorkSchedulerTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/test/java/org/apache/tuscany/sca/core/work/impl/Jsr237WorkSchedulerTestCase.java?rev=912035&r1=912034&r2=912035&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core/src/test/java/org/apache/tuscany/sca/core/work/impl/Jsr237WorkSchedulerTestCase.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/core/src/test/java/org/apache/tuscany/sca/core/work/impl/Jsr237WorkSchedulerTestCase.java Fri Feb 19 23:39:06 2010
@@ -45,7 +45,7 @@
      */
     @BeforeClass
     public static void setup() {
-        workSchedular = new DefaultWorkScheduler();
+        workSchedular = new DefaultWorkScheduler(null, null);
     }
 
     /**