Скажем, есть ли у нас цикл while в BPEL
<while>...<while>
Можно ли прекратить его, если он не завершится в течение 10 секунд?
Скажем, есть ли у нас цикл while в BPEL
<while>...<while>
Можно ли прекратить его, если он не завершится в течение 10 секунд?
Нет, в то время как действия не могут объявить тайм-аут. Вместо этого вы могли бы сделать следующее:
<pick>
в цикле и добавьте элемент <onAlarm>
, который ждет 10 секунд. Но не гарантирует, что любая обработка сообщения не должна занимать более 10 секунд.<scope>
с <wait>
в свой цикл и добавьте обработку в обработчик событий с элементом onAlarm, который запускается немедленно. Если не ошибаюсь, обработчик события завершается вместе с областью действия. Это происходит, когда действие ожидания возвращается, поэтому на самом деле все действия в обработчике событий также должны быть завершены. Я никогда не пробовал это, поэтому я не уверен, что это работает.