Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The last step of a message processing inside WSO2 Enterprise Service Bus is to send the message to a service provider (see also Mediating Messages) by sending the message to a listening service endpoint. During this process, transport errors can occur. For example, the connection might time out, or it might be closed by the actual service. Therefore, endpoint error handling is a key part of any successful ESB deploymentEnterprise Integrator deployment.

Messages can fail or be lost due to various reasons in a real TCP network. When an error occurs, if the ESB is Enterprise Integrator is not configured to accept the error, it will mark the endpoint as failed, which leads to a message failure. By default, the endpoint is marked as failed for quite a long time, and due to this error, subsequent messages can get lost.

...

For information on general error handling and error codes in the ESBEnterprise Integrator, see Error Handling.

Endpoint states

...

For example, let's assume the number of retries is set to 3. When an error occurs and the endpoint is set to the "Timeout" state, the ESB Enterprise Integrator can try to send up to three more messages to the endpoint. If the next three messages sent to this endpoint result in an error, the endpoint is put in the "Suspended" state. If one of the messages succeeds before the retry maximum is met, the endpoint will be marked as "Active."

...

A "Suspended" endpoint cannot send or receive messages. When an endpoint is put into this state, the ESB Enterprise Integrator waits until after an initial duration has elapsed (default is 30 seconds) before attempting to send messages to this endpoint again. If the message succeeds, the endpoint is marked as "Active." If the next message fails, the endpoint is marked as "Suspended" or "Timeout" depending on the error, and the ESB Enterprise Integrator waits before retrying messages using the following formula:

...

Configuring retry

You can configure the ESB Enterprise Integrator to enable or disable retry for an endpoint when a specific error code occurs. For example:

...