在抛出一些任意默认的异常数后,Mule Flow是否会停止处理消息?

时间:2014-12-15 20:19:06

标签: mule

我有一个使用Mongo连接器在Mongo数据库中插入对象的流程,该连接器使用连接器提供的MongoClientImpl。在将插入提交到数据库之后,此客户端有一行尝试将_id强制转换为ObjectId,然后将该值作为字符串返回给用户。据我所知,这一行不会影响是否插入对象,但在尝试将字符串强制转换为ObjectId时会抛出异常。

我的流量正在减少数百ClassCastException秒。它似乎也没有像我预期的那样处理几乎所有的插入。我希望看到成千上万,但流量只插入136个文件。

在流程停止处理给定消息之前,Mule的DefaultMessagingExceptionStrategy可以抛出和捕获的异常数量是否有限制?

1 个答案:

答案 0 :(得分:0)

答案是否定的,但您可以实现一些自定义逻辑并停止流程。可能你之后需要手动启动它,这就是我要做的事情:

  • 使用对象存储模块来计算给定异常的发生率。
  • 一定数量的事件以编程方式停止流程,执行此操作的一个选项就是#[groovy:<flowName>.stop()],因为groovy可以直接访问注册表。
  • 发送电子邮件通知,以便您了解错误(特别适用于制作)。