WebSphere Process Server中的异常处理
WPS异常处理机制原理介绍
要想设计出能够合理处理异常的业务流程,首先要了解WPS的异常处理机制。
WPS中的异常分为两类:业务异常(ServerBusinessException)和系统异常(ServiceRuntimeException)。业务异常指出于业务需要通过流程设计主动抛出的异常,系统异常则是在流程实时运行过程中发生的不可预知的异常。
WPS对于异常的处理方式取决与异常的类型以及模块之间的调用方式。
在同步调用(Synchronous invocation)中,调用方和被调用方是在同一个线程中执行,在这种情况下,不管被调用方返回的是业务异常还是系统异常,都能够被调用方捕获。同步调用的情况下产生系统异常,服务器不会产生失败事件(Failed Event)。
在异步调用(Asynchronous invocation)(包括单向调用(One-way operation)、延迟反馈(Deferred response)、回调(Callback)等几种情况),由于调用方和被调用方是在不同的线程中执行,每个线程会有自己的异常捕获机制,因此通常情况下被调用方所抛出的业务异常会被返回给客户端,而系统异常则会送交服务器中的Failed Event Manager处理,不会返回给调用方。但是这种情况也有例外。如果调用方是一个BPEL流程的话,那么被调用方产生的运行时异常也会被返回给调用方。
0
相关文章