科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道BPEL的异常管理

BPEL的异常管理

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

活动执行过程中发生异常,业务流程必须对错误进行处理。与Java等语言类似,BPEL提供了异常处理机制。用户可以在业务流程中添加faultHandler来捕获并处理相应的异常。

作者:佚名 来源:论坛整理 2007年12月15日

关键字: BPEL 异常 管理

  • 评论
  • 分享微博
  • 分享邮件
faultHandlers、catch及catchAll元素

  活动执行过程中发生异常,业务流程必须对错误进行处理。与Java等语言类似,BPEL提供了异常处理机制。用户可以在业务流程中添加faultHandler来捕获并处理相应的异常。faultHandler与特定的Scope关联,用于捕获Scope内产生的异常。当异常发生时,BPEL正常执行流结束,控制流转入faultHandler内执行。

  faultHandler类似于try-cache结构,它包含多个catch元素,每个都提供活动为特定类型的错误条件进行异常处理。故障会通过接收WSDL定义的故障消息来生成,或者它们可以通过使用throw元素被明确触发。faultHandlers结构可以由catchAll元素构成(或终止)以提供默认的错误处理活动:

<faultHandlers>

    <catch faultName=“SomethingBadHappened” faultVariable= “TimesheetFault”>

    ...

    </catch>

    <catchAll>

    ...

    </catchAll>

</faultHandlers> 

  当异常在特定的Scope内产生时,如果被此Scope内定义的FaultHandler捕获,则该Scope状态被置位为Failed,当异常被处理后,外部Scope继续执行。如果异常无法被此Scope内FaultHandler捕获或无FaultHandler定义,则该Scope状态被置为Failed,并且将异常抛出到外部Scope继续处理,直到异常被处理为止。这个流程也与Java的异常处理机制非常相像。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章