扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
引言
在生产环境中运行企业应用程序时,了解故障条件下系统的行为非常重要。本文介绍 IBM® WebSphere® Process Server(以下称为 Process Server)和 IBM WebSphere Enterprise Service Bus(以下称为 Enterprise Service Bus)中的异常的基本类别。本文介绍:
SCA 入门知识
在深入研究错误处理之前,您需要了解服务组件体系结构 (SCA) 的一些基础知识,其中包括接口类型、调用模式和异常类别。
接口类型
SCA 支持两种接口类型:
该类型用于描述接口和引用。使用引用的客户端编程人员必须与基于类型的引用交互。调用或服务提供程序的目标是可以使用引用方式不同的类型(J 类型或 W 类型)。SCA 将消除该差异。
可以在 JType 和 WType 接口上声明业务异常。JType 接口使用一个抛出子句,而 WType 接口则是声明错误。
调用模式
SCA 提供以下两种调用样式:
在异步样式中,SCA 异步编程模型提供三种类型的异步调用模式:
了解调用模式之间的差异对理解您可能面临的错误条件至关重要。
异常类别
在 Process Server 和 Enterprise Service Bus 中,应用程序是使用 SCA 编程模型构建的。它定义两种类型的错误条件:业务异常和系统异常 – 在编程模型中称为 ServiceBusinessException 和 ServiceRuntimeException。
业务异常
业务异常是在 业务方法的函数签名中声明的、经过检查的异常(WSDL 错误或 Java 抛出)。使用业务异常可标识应用程序或服务预期的错误条件。一个示例是用于股票报价服务的 InvalidSymbolException。此类异常由 ServiceBusinessException 包装,并传递回客户端。
系统异常
系统异常也称为运行时异常。它们 不是在方法签名中声明的。通常,它们表示应用程序无法预知的错误条件,如 Java 组件中的 NullPointerException。这些异常由 ServiceRuntimeException 包装,并传递回客户端,该客户端可以查询 ServiceRuntimeException 来确定原因。
在 SCA 编程模型中,将一些内置系统异常定义为 ServiceRuntimeException 的子类:
异步调用的异常处理
当同步调用服务组件时,客户端和服务提供程序在同一线程中执行。目标可以向客户端返回响应消息、异常返回,或者不返回任何内容(在单向操作中)。如果结果为异常,则它可以是业务异常或系统异常。本例中的客户端可以是应用程序代码或系统代码的某一形式。
图 1. 调用组装图
下面是一个示例客户端,它调用使用 JType 接口声明的 Java 组件。该接口具有一个按以下方式声明的方法:
清单 1. 股票报价接口
public interface StockQuote { float getQuote(String symbol) throws InvalidSymbolException; } |
客户端代码与以下内容类似:
清单 2. 股票报价同步客户端报价
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者