How to make OmmConsumerClient recover from Open / Suspect / None state
hey,
I consume RICs from TREP using this way:
ReqMsg reqMsg = EmaFactory.createReqMsg().serviceName(serviceName).name(ric);
long streamId = consumer.registerClient(reqMsg, new Client(...));
class Client implements OmmConsumerClient {
@Override
public void onRefreshMsg(RefreshMsg msg, OmmConsumerEvent consumerEvent) {
// do something with the status and payload
}
@Override
public void onUpdateMsg(UpdateMsg msg, OmmConsumerEvent consumerEvent) {
// make use of payload
}
@Override
public void onStatusMsg(StatusMsg msg, OmmConsumerEvent consumerEvent) {
// make use of ommstate
}
}
The consumption is going ok, i.e. after subscribing I get a refresh message, and then update messages with payload.
When there is a problem with a connection, a state update comes in, in a form of status message. The state is: ""Open / Suspect / None / 'A23: Source has gone down, requesting from another source.'".
However, the RIC is fixed on a server after some time and is flowing again, but NOT to my application, this subscription goes stale. How can I set up the subscription so that it recovers, when the RIC is alive again?
One workaround is to kill this subscription and recreate it - this works fine, but doesn't seem to be the best way.
Best Answer
-
Hello @Konrad
The stream state "Open / Suspect" indicates that the item stream remains opened but data is not available. The application should be able to receive data as usual after the service is recovered.
Can you replicate the issue on demand? If so, please enable the EMA XML trace message and replicate the issue. The XML trace messages contain incoming/outgoing messages between the API and ADS server. It helps to verify if the API receives any messages from the ADS after recovery.
Please check the XML Trace section of the Enterprise Message API (EMA) - Configuration Overview article to see how to enable the EMA trace messages.
Additionally, can you give us more detail about the application that encounters the issue?
- Is it EMA Java or C/C++?
- The version of EMA
- OS
- Compiler
0
Answers
-
Hi @Konrad,
The A23 message is coming from RTDS (TREP), and it seems like your ADS is having issues getting an item. This is best resolved at the infrastructure level by asking the market data administrator. From the EMA perspective, the item state is OPEN - a.k.a it might be resolved and be available in future and hence no action will be taken by SDK automatically.
0 -
0
-
Hi @Konrad, if the ADS doesn't send a refresh or updated status message after the item is recovered then it is an issue with ADS. This is not an SDK issue - the state "Open" means that ADS is telling EMA that the item will automatically recover and EMA client does not need to take any action yet.
If you think this is an issue with SDK, then I recommend that you raise it directly with RTSDK development on github.
0 -
0
-
thanks very much for the suggestions - the problem is not reproducible anymore, therefore I will close this question.
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 685 Datastream
- 1.4K DSS
- 617 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 252 ETA
- 557 WebSocket API
- 38 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 276 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 654 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 193 TREP Infrastructure
- 229 TRKD
- 917 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 91 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛