We use UPA C API to get level 1 market data. I read the API user guide, it does not mention how to provide a server list(one is primary, another is backup) in the
chnl = rsslConnect(&copts,error).
However, with RFAJ, failover is simple, just config the session with multiple server addresses.
1. Does UPA support failover, if yes, any example program?
2. Should move to RFA or Electron API(which seems to have a version support failover)
If you are designing/developing a new application, would suggest to consider Elektron API suite. It is our latest API, that has all the new features. As well it is actively developed, so this is where all the next new features will be made available.
Eelektron Message API(EMA) is ease of use tier, that implements failover capability on behalf of the application via ChannelSet. I am referencing EMA C++ Developer Guide documentation, in Java EMA you will find it analogous. It is very performant, it is good for 90-95% of consumer use case requirements.
Elektron Transport API (ETA) is low level tier that you can select to use. This tier of Elektron suite have evolved from, several major versions back, UPA. With ETA/UPA you will have to design and develop failover and standby at the custom consumer application tier, yourself.
My suggestion would be to definitely look at EMA, appropriate language version,
EMA Quickstart is a quick and efficient way to get started.
If you would build per ESDK Installation Guide, for example:
cmake --help | -HsourceDir -BbuildDir -G “VisualStudioVersion” [-Doption ... ]
It should create VS solution with all the examples in it. Have you had a chance to try it?