假设我们的应用程序中只有一个资源: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'