在 BPEL 流程中使用事件和超时

异步 ​​Web 服务通常需要很长时间才能返回响应,因此,BPEL 流程服务组件必须能够超时,或放弃等待,并在一定时间后继续其余流程。您可以使用 pick 活动来配置 BPEL 流程,使其等待指定的时间或继续执行其职责。要设置时间的有效期,您可以使用 wait 活动。为了管理消息,可以使用事件,特别是在业务流程等待合作伙伴 Web 服务的回调时。

事件

BPEL 支持两种类型的事件 −

消息事件

这些事件由通过端口类型上的操作调用传入的消息触发。

警报事件

这些事件与时间相关,在一定持续时间后或特定时间触发。

  • 但是,通常等待多条消息更有用,其中只有一条会出现。

  • 当您希望流程等待回调一段时间(例如 15 分钟)时,警报事件很有用。

    • 如果没有收到回调,流程流将继续按设计进行。

    • 在松散耦合的面向服务架构,您不能依赖 Web 服务始终可用。

挑选活动

挑选活动有 2 个分支 −

  • onMessage − 此分支上的代码等于添加超时之前接收响应的代码。

  • onAlarm − 此条件具有一分钟超时的代码。

等待活动

等待活动允许进程等待给定的时间段或直到达到时间限制。必须指定其中一个到期条件。