The Rebound feature is used to prevent data loss and errors when integrating two complex systems where data might be available on the sender system before the receiver system is able to receive it. The Rebound feature bounces the data back to the sender component where it is added to a queue and resent later.

An example of this is in the syncing of product details and prices between ERP and Shop. These systems have different hierarchical structures for products and prices so the data cannot be sent through the same process. Because of this, prices and product data are synced separately using parallel processes. However, a product must exist before a price can be added to it. If the pricing data arrives before the product data, it cannot be stored. Instead of reporting an error, the Rebound feature simply sends the price data back to the sender component. It is added to a separate queue and re-sent later.

How the rebound works

When the message cannot be processed by the component due to the insufficient information it is sent back or rebounded. The rebounded message is sent to a rebound queue where it is held for a set period before being added back to the message queue to be resent.

A message can be rebounded ten times. The first time it waits in the Rebound queue for one minute, but this waiting period increases with each rebound. After the tenth rebound the message is rejected completely and an error is reported.