2017-10-13 9 views
0

J'ai une file d'attente Seda où i définir l'option QueueSize selon la camel documentationréglage sur l'option QueueSize sur SEDA

La route que j'ai ressemble:

from("seda:someQueue?concurrentConsumers=10&queueSize=10") 
.process(someProcessor); 

Je reçois l'erreur suivante en raison de la Option queueSize:

org.apache.camel.FailedToCreateRouteException: Impossible de créer l'itinéraire .... bla bla bla .. Il existe 1 paramètre qui n'a pas pu être défini sur le noeud final. Vérifiez l'uri si les paramètres sont orthographiés correctement et qu'ils sont des propriétés du point de terminaison. Paramètres inconnus = [{queueSize = 10}] ..... [piletrace continue ici]

Quelqu'un peut-il indiquer ce qui ne va pas? J'utilise Java 8, Camel 2.9.13

Répondre

2

Notez que la documentation indique que l'option QueueSize est composante seulement, ce qui signifie que vous devez configurer sur le SedaComponent à la place. En d'autres termes, vous ne pouvez pas le configurer sur le noeud final comme vous le faites dans votre itinéraire ci-dessus.

Pour jusqu'à une documentation à jour et mieux docs sur les composants Camel, puis parcourir les pages GitHub à: https://github.com/apache/camel/blob/master/camel-core/src/main/docs/seda-component.adoc

Ces documents sont à jour et de montrer à la fois composante vs options de point final dans différentes tables, il est donc plus facile de connaître la différence.

+0

Pouvez-vous me montrer un exemple comment vous pouvez configurer l'option sur SedaComponent en utilisant Java DSL? –

+0

Regardez les tests unitaires dans camel-core et vous pouvez trouver quelques exemples comment il se tester –

0

Pour ceux qui ont la même question, voici comment j'utiliser le QueueSize maintenant

Initialiser un nouveau composant Seda,

SedaComponent sedaComponent = new SedaComponent(); 
     sedaComponent.setQueueSize(3); 
     context.addComponent("sedaComponent", sedaComponent); 

puis utilisez ce composant à la route comme,

from("seda:someEndPoint?concurrentConsumers=5") 
          .to("sedaComponent:someOtherSedaEndPoint?blockWhenFull=true");