2013-04-09 52 views
0

我在Webflow的水平异常处理程序不捕捉异常

<exception-handler bean="webflowExceptionHandlerBean"/> 

另外我有两个不同的流,流A和流B.流B具有excepton处理程序是流A的子流

流甲

<flow> 
    <on-start> 
    <!-- SOME SET --> 
    </on-start> 
    <view-state id="viewStateA"> 
    <transition id="goToFlowB" to="flowB"/> 
    </view-state> 
    <subflow-state id="flowB" subflow="flowB"> 
    </subflow-state> 
</flow> 

流B

<flow> 
    <on-start> 
    <!-- SOME SET --> 
    </on-start> 
    <view-state id="flowB"> 
    <on-entry> 
    <!-- HERE THE EXCEPTION IS THROWN --> 
    </on-entry> 
    <transition id="goToT1" to="t1"/> 
    </view-state> 
</flow> 

所以,当一个异常在上进入的流量B中不被webflowExceptionHandlerBean

的配置webflowExceptionHandlerBean赶上实现FlowExecutionExceptionHandler

被抛出

我试过使用,它的工作,但我wana只使用一个全球外部在每个流程的处理程序上。

你知道发生了什么事吗? 我错过了什么吗?

回答

0

有像下面

<flow xmlns="http://www.springframework.org/schema/webflow" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/webflow 
          http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd" abstract="true"> 
<exception-handler bean="webflowExceptionHandlerBean"/> 
</flow> 

抽象流程定义之后,继承抽象流进你的流A和流B像下面

<flow xmlns="http://www.springframework.org/schema/webflow" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/webflow 
          http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd" parent="abstract-flow"> 

你应该能够在全球范围内使用处理您的例外自定义异常处理程序