2017-10-13 34 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");