如果在一定时限内没有完成,如何终止?

时间:2012-07-10 09:18:01

标签: bpel

假设我们在BPEL中有一个while循环

<while>...<while>

如果在10秒内没有完成,是否可以终止它?

1 个答案:

答案 0 :(得分:1)

不,虽然活动无法宣布超时。你可以做的是:

  • 在循环中使用<pick>活动并添加等待10秒的<onAlarm>元素。但是不确保任何处理消息的时间不得超过10秒。
  • 向您的循环添加<scope> <wait>并将处理添加到具有立即启动的onAlarm元素的eventhandler。如果我没有弄错,事件处理程序将与范围一起终止。当等待活动返回时会发生这种情况,因此实际上也应该终止事件处理程序中的所有活动。我从未尝试过这个,所以我不确定这是否有效。