我有一条必须异步使用的路由,并且我正在使用直接组件将其称为别名。
<route id="producer_CUSTOMER_INTERACTIONS_ISSUES_RELATIONSHIPS_Topic">
<from uri="direct:test"/>
<pollEnrich aggregateOnException="false" id="pollEnrich1" timeout="-1">
<constant>file:mock/customer-interactions-issues-relationships?noop=true&idempotent=false</constant>
</pollEnrich>
<to uri="kafka:customer-interactions-issues-relationships?brokers=localhost:9092"/>
</route>
该路线必须由以下人员消耗:
<route id="1"><from uri="timer://foo?fixedRate=true&period=1&repeatCount=1000"/><to uri="direct:test"/></route>
<route id="2"><from uri="timer://foo?fixedRate=true&period=1&repeatCount=1000"/><to uri="direct:test"/></route>
<route id="3"><from uri="timer://foo?fixedRate=true&period=1&repeatCount=1000"/><to uri="direct:test"/></route>
<route id="4"><from uri="timer://foo?fixedRate=true&period=1&repeatCount=1000"/><to uri="direct:test"/></route>
我希望每条消费者路线异步请求producer_CUSTOMER_INTERACTIONS_ISSUES_RLATIONSHIPS_Topic
的模拟内容的1000倍,但是现在,它是同步的,如下所示:
我已经在Camel文档中阅读了有关SEDA组件的信息,但是没有关于如何在Blueprints中使用它的示例:(
答案 0 :(得分:1)
为了帮助需要这样做的其他人,我使用以下方法解决了此问题:
<route id="1"><from uri="timer://foo?fixedRate=true&period=1&repeatCount=1000&delay=-1"/><to uri="direct:test"/></route>
我刚刚添加了delay=-1
来强制其异步运行。
我真的不知道这是否是野兽的方法。如果其他人有更好的答案,请将其发布以帮助=)