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