Hi,

The 1.5.1 and 1.6 release should already fix the problem. Now we do:

jsr237WorkManager = new ThreadPoolWorkManager(0); 

It in turns calls:
    /**
     * Initializes the thread-pool.
     *
     * @param threadPoolSize Thread-pool size. If the size <1, then a cached 
pool is created
     */
    public ThreadPoolWorkManager(int threadPoolSize) {
        ThreadFactory factory = new ThreadFactory() {
            public Thread newThread(Runnable r) {
                Thread thread = new Thread(r);
                thread.setDaemon(true);
                return thread;
            }
        };
        if (threadPoolSize <= 1) {

            // Creates a new Executor, use a custom ThreadFactory that
            // creates daemon threads.
            executor = Executors.newCachedThreadPool(factory);
        } else {
            executor = Executors.newFixedThreadPool(threadPoolSize);
        }
    }

So we should get a cached thread pool. 

http://svn.apache.org/repos/asf/tuscany/sca-java-1.x/tags/1.5.1/modules/core/src/main/java/org/apache/tuscany/sca/core/work/DefaultWorkScheduler.java

Thanks,
Raymond


From: "Dietrich, Björn" 
Sent: Friday, February 19, 2010 12:12 AM
To: [email protected] 
Subject: Increase number of Worker Threads.


Hi,

I noticed that when sending a lot of requests to the internal jetty server that 
the workload is

distributed to 10 threads. From 11th request on the requests are queued. 

2010-02-18 14:25:00,342 INFO  [pool-1-thread-7] de.cenit.std.SleepService: 
Called de.cenit.std.SleepService
2010-02-18 14:25:00,342 INFO  [pool-1-thread-7] de.cenit.std.SleepService: 
Property from SleepService.composite: myValue
2010-02-18 14:25:00,342 INFO  [pool-1-thread-7] de.cenit.std.SleepService: 
Sleep Service Ausgabe1
2010-02-18 14:25:02,195 INFO  [pool-1-thread-4] de.cenit.std.SleepService: 
Called de.cenit.std.SleepService
2010-02-18 14:25:02,195 INFO  [pool-1-thread-4] de.cenit.std.SleepService: 
Property from SleepService.composite: myValue
2010-02-18 14:25:02,195 INFO  [pool-1-thread-4] de.cenit.std.SleepService: 
Sleep Service Ausgabe1 

I suppose this limitation is due to the creation of the TreadPoolWorkerManager

by the following statement:

jsr237WorkManager = new ThreadPoolWorkManager(10); 

This statement can be found in Tuscany 1.5  DefaultWorkScheduler.java line 65

and also in older Version of the source (eg. 1.0.1  Jsr237WorkScheduler.java 
Line 50  )

>From my current understanding Tuscnay uses a fixed thread pool, while jetty 
>standalone 

dynamicly increases the number of threads (upper limit configurable by 
maxThreads property)

How can I increase the number of worker threads ?

Is there a configuration file or do I have to create a patch ? 

thanks for your fine work

Greetings

Björn












CENIT AG, Industriestrasse 52-54, 70565 Stuttgart, Tel.: +49 711 7825-30, Fax: 
+49 711 7825-4000, Internet: www.cenit.de
Geschaeftsstellen: Berlin, Duesseldorf, Frankfurt, Hamburg, Hannover, Muenchen, 
Oelsnitz, Saarbruecken
Vorstandsmitglieder: Kurt Bengel, Christian Pusch
Aufsichtsratsmitglieder: Andreas Schmidt (Vorsitzender des Aufsichtsrats), 
Hubert Leypoldt, Andreas Karrer
Bankverbindungen:
Deutsche Bank (BLZ 600 700 70) Kto. 1661 040 IBAN : DE85 6007 0070 0166 1040 00 
SWIFT-CODE : DEUTDESS,
Commerzbank (BLZ 600 400 71) Kto. 532 015 500 IBAN : DE83 6004 0071 0532 0155 
00 SWIFT-Code : COBADEFF600,
BW-Bank (BLZ 600 501 01) Kto. 2 403 313 IBAN : DE17 6005 0101 0002 4033 13 
SWIFT-Code : SOLADEST
Registergericht: Amtsgericht Stuttgart
Handelsregister: HRB Nr. 19117
Umsatzsteuer: ID-Nr. DE 147 862 777

Reply via email to