Connection failure handling in order receivers
Apama has developed a set of best practices for order receivers (typically adapter service monitors) to follow when dealing with disconnections or other errors in the underlying adapter. While these are not strictly part of the com.apama.oms API or protocol they should be followed where possible by any order receiver component.
Best practices for handling connection failures include the following:
The order receiver should use the
IAFStatusManager to track the state of its connection to the IAF and the IAF’s connection to the remote service.
If the receiver becomes disconnected from the IAF or the IAF becomes disconnected from the remote service, the receiver should:
Reject all new orders
Send an update with the
unknownState flag set to true for all orders where the state is undefined while the connection is down. When the connection is restored these orders should be updated again to report the new known state of each order
If the state of the order is known, for example, the IAF has lost its connection to the remote service and the service is configured to cancel all orders on disconnect, the known state of the order should be reported as usual
If an update for an unknown order is received from the adapter, the receiver should log a warning or otherwise alert the user to this unexpected event.