0

假设我们的应用程序中只有一个资源:HelloWorldResource

Mule 流程配置如下所示:

<http:listener-config doc:name="HTTP Listener Configuration" host="0.0.0.0" name="HTTP_Listener_Configuration" port="9988"/>

<flow name="HelloWorldFlow">
    <http:listener config-ref="HTTP_Listener_Configuration" path="/*"/>
     <jersey:resources>
     <component class="acme.HelloWorldResource">
     </component>
 </jersey:resources>
</flow>

我现在的问题是:

是否可以为泽西岛资源申请直到成功范围?

我到底想实现什么:如果 Jersey 资源端点失败 - 我希望 Mule 重试调用。

我尝试进行以下更改:

 <until-successful 
        maxRetries="2" 
        millisBetweenRetries="100" 
        objectStore-ref="objectStoreUntilSuccessful" 
        failureExpression="#[message.inboundProperties['http.status'] != 200]">
    <flow name="HelloWorldFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/*"/>
         <jersey:resources>
         <component class="acme.HelloWorldResource">
         </component>
     </jersey:resources>
    </flow>
    </until-successful>

但是,我的更改只会在服务器启动期间导致异常:

org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'until-successful'
4

1 回答 1

1

您已将 until-successful 放在流程之外,它需要在流程内部并且就在 jersey:resources 元素周围

于 2018-01-18T05:49:25.987 回答