MULE-4:VM:消费前检查VM队列中的消息数量
MULE-4:VM: Check number of messages in VM queue before consuming
我们需要在流中使用来自 VM 的消息。当前,当 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>
我们需要在流中使用来自 VM 的消息。当前,当 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>