假设我们的应用程序中只有一个资源: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资源申请成功范围?
我想要实现的目标: 如果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'
答案 0 :(得分:1)
你已经把直到成功的流程放在了流动之外,它需要在流动中并且只是在球衣周围:资源元素