我想在IdempotentConsumer中执行自定义逻辑。我扩展了类并实现了逻辑。如何将此添加到我的路线?
我是否必须制作自己的Definition类?我是否将其添加为处理器?如何获取传递给构造函数的参数?
答案 0 :(得分:0)
嗯,定制消费者/生产者可能有点矫枉过正。我认为某种自定义逻辑足以通过处理器或自定义bean来实现。
1.Bean
查看bean binding您可以使用simple language将参数传递给您的方法。它看起来像这样:
.bean(OrderService.class, "doSomething(${body}, true)")
.to("bean:orderService?method=doSomething(null, true)")
2.Processor
由于驼峰框架的并发问题,你必须意识到你的类应该是无状态。你的构造函数应该是空的,你的变量是最终的,否则可能会发生一堆魔法。您要传递给逻辑组件/处理器的所有内容都应通过 Exchange 对象传递。您可以将变量存储在getin()
或getOut()
条消息中作为标题或正文或Exchange
属性,并将其传递给下一个端点。交换将在您通过骆驼路线流动时动态变化。它应该是你唯一的一个可变对象。