2016-11-29 5 views
1

Ich benutze Apache Camel-Cdi und Wildfly 8.2. Wie konfiguriere ich den Thread-Pool für Camel? In der Dokumentation sehe ich nur conf für den Frühling, aber ich benutze Java EE mit WildflyApache Camel Konfiguration

Antwort

1

Sie können die Java DSL-Konfiguration unter create a thread pool in Camel überprüfen.

import org.apache.camel.spi.ExecutorServiceManager; 
import org.apache.camel.spi.ThreadPoolProfile; 
ExecutorServiceManager manager = context.getExecutorServiceManager(); 
ThreadPoolProfile defaultProfile = manager.getDefaultThreadPoolProfile(); 
// Now, customize the profile settings. 
defaultProfile.setPoolSize(SomeSize); 
defaultProfile.setMaxQueueSize(QueueSize); 
0

Dies hängt von Ihrem Anwendungsfall, aber Sie können definitiv Thread-Pooling mit Camel Java DSL verwenden. Das Format wäre so etwas wie die folgenden sein:

ExecutorService threadPool = Executors.newFixedThreadPool(20); 

.split(body().tokenize("\n")).streaming().executorService(threadPool) 

Einzelkomponenten auch für einzelne Threading (siehe file2 zum Beispiel) ermöglichen kann. Wenn Sie das Buch Camel in Action haben, geht es in Kapitel 10 alles um Gleichzeitigkeit. Es geht viel genauer in Threading und Concurrency.

+0

wo kann ich Poolgröße für Kamel configurate? – mystdeim

+0

Es ist in dem Schnipsel oben, die 20 in Executors.newFixedThreadPool (20); ist die Anzahl der Threads. – David

+0

Bist du verrückt, ich habe Hunderte von langen Routen. Ich muss den Standardpool konfigurieren – mystdeim