端点 [状态:暂停]

Endpoint [ State : SUSPENDED ]

当 wso2 ESB 端点尝试调用的 URL 一秒钟不可用时,我们面临 wso2 ESB 端点暂停 3000 毫秒的问题,由于这种暂停,对同一端点的下一次调用甚至会失败当后端 URL 可用时。

下面是相同的日志,当端点被挂起时我们得到的内容以及我们现在使用的端点配置。

TID: [-1234] [] [2019-10-30 15:08:39,121]  WARN {org.apache.synapse.endpoints.EndpointContext} -  Endpoint : conf//endpoint/epsomebackendurl with address https://somebackendurl.com will be marked SUSPENDED as it failed
TID: [-1234] [] [2019-10-30 15:08:39,121]  WARN {org.apache.synapse.endpoints.EndpointContext} -  Suspending endpoint : conf//endpoint/epsomebackendurl with address https://somebackendurl.com - current suspend duration is : 30000ms - Next retry after : Wed Oct 30 15:09:09 GMT 2019

Endpoint Configuration
<?xml version="1.0" encoding="UTF-8"?>
<endpoint xmlns="http://ws.apache.org/ns/synapse"
          name="conf//endpoint/epsomebackendurl">
   <property name="System-Name" value="JUNIFER" scope="default" 
type="STRING"/>
   <http uri-template="https://somebackendurl.com"
         method="get">
     <suspendOnFailure>
        <progressionFactor>1.0</progressionFactor>
    </suspendOnFailure>
    <markForSuspension>
        <retriesBeforeSuspension>0</retriesBeforeSuspension>
        <retryDelay>0</retryDelay>
    </markForSuspension>
   </http>
</endpoint>    

请告诉我是否有任何其他选项可以阻止 endpint 被挂起。

我们使用的是wso2esb-5.0.0版本。

谢谢

默认行为是错误的 Synapse 端点请求是,端点将挂起 30000 毫秒。

如果您想停止挂起,则以下端点永远不会挂起。

<endpoint name="NoSuspendEndpoint">
   <address uri="http://localhost:9000/services/SimpleStockQuoteService">
       <timeout>
           <duration>30000</duration>
           <responseAction>fault</responseAction>
       </timeout>
       <suspendOnFailure>
           <errorCodes>-1</errorCodes>
           <initialDuration>0</initialDuration>
           <progressionFactor>1.0</progressionFactor>
           <maximumDuration>0</maximumDuration>
       </suspendOnFailure>
       <markForSuspension>
           <errorCodes>-1</errorCodes>
       </markForSuspension>
   </address>