Warm tip: This article is reproduced from serverfault.com, please click

mule4-MULE-4:VM:使用前检查VM队列中的消息数

(mule4 - MULE-4:VM: Check number of messages in VM queue before consuming)

发布于 2020-12-08 10:25:32

我们需要在流中使用来自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中可用消息的数量。

Questioner
Prudhvi B
Viewed
0
aled 2020-12-10 00:18:46

你可以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>