2017-10-13 35 views
0

QUEUESIZE選擇我時,我真想QUEUESIZE選項SEDA隊列根據camel documentation設置上SEDA

我有路線是這樣的:

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

我收到以下錯誤因queueSize選項:

org.apache.camel.FailedToCreateRouteException:無法創建路由.... bla bla bla .. 有1個參數無法在端點上設置。如果參數拼寫正確,並且它們是端點的屬性,請檢查uri。未知參數= [{queueSize = 10}] ..... [stacktrace在這裏繼續]

任何人都可以指出什麼是錯? 我使用Java 8,駱駝2.9.13

回答

2

注意,該文件說,該選項QUEUESIZE是組件只,這意味着你需要在SedaComponent,而不是對其進行配置。換句話說,您不能像在上面的路由中那樣在端點上配置它。

對於最新的文檔和更好的文檔駱駝部件,然後瀏覽在github上頁:https://github.com/apache/camel/blob/master/camel-core/src/main/docs/seda-component.adoc

這些文檔是最新的,並且表現出了兩種成分VS在不同的表終點的選擇,所以它更容易知道區別。

+0

你能告訴我一個例子,你如何使用Java DSL在SedaComponent上配置選項? –

+0

看看駱駝核心的單元測試,你可以找到一些例子,它如何測試自己 –

0

對於那些誰擁有了同樣的問題,這是我如何使用QUEUESIZE現在

初始化新SEDA組件,

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

然後在喜歡的路線使用這個組件,

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