Операция потребления виртуальной машины будет пытаться прочитать из очереди до заданного времени ожидания, которое можно настроить, и затем зарегистрирует эту ошибку, если очередь пуста.
Каким-то образом ваш блок foreach выполняет потребление больше раз, чем требуетсяколичество / сообщения доступны.Если вы поделитесь своей конфигурацией foreach xml, мы сможем узнать больше о причинах.
Кроме того, чтобы решить, почему foreach работает, потребляют больше, чем нужно.Есть несколько вариантов, чтобы изменить это поведение:
Завершение потребления в попытке подавить ошибку:
<try doc:name="Try" >
<vm:consume ... />
<error-handler >
<on-error-continue enableNotifications="false" logException="false" type=" ">
<logger />
</on-error-continue>
</error-handler>
</try>
Или, возможно, не использовать потребление, а использовать другой потокс прослушивателем VM для прослушивания сообщений в этой очереди VM.Это может изменить работу вашего приложения.