We have the following setup:
<ChannelSet value="PROD_A, PROD_B, DR"/>
So under normal condition, application is connecting to PROD_A.
Based on tests I run I then see:
- if PROD_A goes down, EMA will connect to PROD_B
- if PROD_B goes down, EMA will connect to DR
Is there any way to make EMA automatically try re-connecting to PROD_A instead of going to DR?
Or would this have to be done through the code?
The above failover logic makes it necessary to re-start application after doing any maintenance in our production environment, even if we don't bring both PROD_A and PROD_B sides down at the same time.
To change this behavior, I think that you need to modify the internal code in the ETA value add library. Then, rebuild the EMA and ETA value add libraries.
Otherwise, the application needs to use two OmmConsumer. The first consumer is for PROD_A and PROD_B and the second consumer is for DR. If the first consumer is unable to connect to PROD_A and PROD_B, the application can destroy the first consumer and then create a new one which connects to DR.