Конечная точка [Состояние: приостановлено] - PullRequest
1 голос
/ 30 октября 2019

Мы сталкиваемся с проблемой, когда конечная точка wso2 ESB приостанавливается на 3000 мс, когда URL-адрес, который он пытается вызвать, недоступен на секунду, из-за этой приостановки следующие вызовы той же конечной точки завершаются ошибкой, даже если доступен внутренний 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>    

Пожалуйста, дайте мне знать, есть ли другой вариант, который мы можем сделать, чтобы остановить приостановку конечной точки.

Мы используем версию wso2esb-5.0.0.

Спасибо

1 Ответ

1 голос
/ 30 октября 2019

Поведение по умолчанию заключается в сбое запроса конечной точки 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>

...