我在Camel路由中实现了一个服务,它使用来自ActiveMQ队列的消息,进行一些处理并将它们发送到外部系统。
到目前为止,我已经想到实现某种基于骆驼的交换,涉及多个队列,其中路由决定它是否可以直接处理传入消息,或者是否有延迟的消息要处理。但我不知道是否有一些EIPs来以一种简洁的方式描述这种情况。
你能给我一些建议吗?
您所描述的听起来像是(至少在我看来)一个经过编排的工作流,而不是一个单一的EIP--B/C,您所描述的是跨多个步骤维护状态的需要。这完全可以在事件驱动系统中完成,但当试图强制它只使用一个队列解决方案和单个EIP时,通常会变得脆弱。
多队列/多Camel路由方法将是直接的,并且不需要任何不自然的行为(停止路由、重新排队等)来通常维护消息顺序等。