...subscribe
EMA API due to network reasons, some subscription RIC information is no longer pushed, how to re-subscribe
Hi @zhangqingfeng
The issue is most likely with LPC - or how it is reporting or handling RTO connectivity issues - if it provides data for some instruments and not others and definitely not sending status msg for those instruments that you are not receiving data for. Are you definitely handling Status Msg and logging them (some developers ignore the Status Msg)?
Have you contacted the LPC team - have they analysed the logs and advised why it stops updating some instruments?
As mentioned earlier - you could try calling registerClient to try and resubscribe the non-updating instruments - but if any upstream problem is not fixed, I cannot say this would work. Also, there would be the question of when do you try and resubscribe? How long do you wait before deciding an instrument is not updating + you will have lost updates during that time period?
My first step would be to ask the LPC team to explain why you stop receiving data for some instruments. If this issue occurs quite often, you could enable EMA tracing as well - as the trace may help the LPC team - but note that enabling EMA Trace can slow down the processing of the EMA application.
How to enable tracing incoming/outgoing messages EMA Java receives/sends - Forum | Refinitiv Developer Community
Unfortunately, there is very little information in question from which to form any meaningful answer.
Please expand on the question
The simplest way to resubscribe for an instrument is to call registerClient again for the instrument - but this may not help - depending on why you stopped receiving data for that instrument. There is usually a reason why a server may stop sending data/the API stops receiving updates for an instrument and until the issue is resolved - calling registerClient probably won't help.
Also, can you advise why you are using LPC with EMA to connect to RTO?
EMA can connect directly to RTO - thereby removing one piece of 'middleware' and one less potential point of failure.
If it is because you want to run multiple consumers with a single MachineID, then you should speak to your Refinitiv Account team and ask them to allocate more MachineIDs to you - so you can avoid using LPC.