我们需要在流中使用来自VM的消息。当前,当虚拟机为空时,它会引发错误,如下所示:
Message : Tried to consume messages from VM queue 'FQ' but it was empty after timeout of 5 SECONDS Payload Type : org.mule.runtime.core.internal.streaming.bytes.ManagedCursorStreamProvider
现在我们将其包装在try catch块中并处理此错误(仍然在打印错误堆栈跟踪,我们希望避免它)
我想检查是否有一种方法或一段代码可用于在使用VM之前检查VM中可用消息的数量。
你可以logException
在错误处理程序上使用该属性,以便不在日志中打印该异常。
例子:
<try doc:name="Try">
<vm:consume doc:name="Consume" config-ref="VM_Config" queueName="q1" />
<error-handler >
<on-error-continue enableNotifications="true" logException="false" doc:name="On Error Continue" type="VM:EMPTY_QUEUE">
<logger level="INFO" doc:name="Logger" message="consume timeout"/>
</on-error-continue>
</error-handler>
</try>
谢谢,让我试试看。
是的,它可以工作,现在不会打印堆栈跟踪。