Mule ESB:如何在Mule ESB中实现典型的重试机制
我需要在重试时实现一个逻辑。入站端点将消息推送到Rest(出站)。如果其余部分不可用,我需要重试1次并将其放入队列。但是第二个即将到来的消息不应该进行任何重试,它必须直接将消息放入队列,直到REST服务可用 一旦服务可用,我需要通过批处理作业将所有消息从队列推送到REST服务(按顺序) 问题:Mule ESB:如何在Mule ESB中实现典型的重试机制,mule,mule-studio,mule-el,mule-component,Mule,Mule Studio,Mule El,Mule Component,我需要在重试时实现一个逻辑。入站端点将消息推送到Rest(出站)。如果其余部分不可用,我需要重试1次并将其放入队列。但是第二个即将到来的消息不应该进行任何重试,它必须直接将消息放入队列,直到REST服务可用 一旦服务可用,我需要通过批处理作业将所有消息从队列推送到REST服务(按顺序) 问题: 我如何知道第二封邮件的服务不可用?若我使用直到成功,对于每个消息,它都会重试并放入队列。Plm是第二条消息,不应重试 对于批处理,我考虑使用poll,但如何告诉poll,何时服务可以开始批处理过程。(bc
使用Mule:3.5.1作为超时,我仍然会查看响应代码并捕获超时,以确定调用是否成功或是否需要重试。实际上,您通常都会执行多线程,因此您会有多个并行调用。或者只是一个电话在另一个电话结束之前开始。 这很正常 但您只需在超时的队列中重试调用即可。在x次超时后,您可以“跳过”或推迟重试 但所有这些都是使用实际的Mule流组件完成的,如:
- 梅尔
- 或流量控制:
- 或者,例如,您引用一个Springbean并在本机Java代码中执行它
队列的一种可能性是将其持久化到数据库中。Mule的数据库连接器具有“轮询”功能,请参阅:我可以尝试以下方法:使用流控制
谢谢你的回复。这是一种帮助!谢谢你的光:)。这对我很有帮助。我正试着按照上面提到的方法来做。这里我有一个疑问,如果我在属性或会话变量中设置属性ServiceAvailable=false。第二个新事务是否能够看到我在mule流中为第一个事务设置的变量(bcz我认为所有属性都被擦除,并且对于即将到来的事务,属性应该是新的)。如果是这种情况,如何将属性设置为对所有即将到来的事务全局可见?请建议。提前谢谢