How should we implement the consumer's rdmLoginMsgCallback()
Hi
I've a problem following the UPA ValueAdd package example of consumer's rdmLoginMsgCallback() implementation. This is what written in the example:
@Override
public int rdmLoginMsgCallback(RDMLoginMsgEvent event)
{
ChannelInfo chnlInfo = (ChannelInfo)event.reactorChannel().userSpecObj();
LoginMsgType msgType = event.rdmLoginMsg().rdmMsgType();
switch (msgType)
{
case REFRESH:
System.out.println("Received Login Refresh for Username: " + ((LoginRefresh)event.rdmLoginMsg()).userName());
System.out.println(event.rdmLoginMsg().toString());
// save loginRefresh
((LoginRefresh)event.rdmLoginMsg()).copy(chnlInfo.loginRefresh);
// set login stream id in MarketPriceHandler and YieldCurveHandler
chnlInfo.marketPriceHandler.loginStreamId(event.rdmLoginMsg().streamId());
chnlInfo.yieldCurveHandler.loginStreamId(event.rdmLoginMsg().streamId());
break;
case STATUS:
LoginStatus loginStatus = (LoginStatus)event.rdmLoginMsg();
System.out.println("Received Login StatusMsg");
if (loginStatus.checkHasState())
{
System.out.println(" " + loginStatus.state());
}
break;
default:
System.out.println("Received Unhandled Login Msg Type: " + msgType);
break;
}
return ReactorCallbackReturnCodes.SUCCESS;
}
Unfortunately, this implementation causes infinite login retry attempts at a very rapid rate (i.e. no pause during each retry even we set reconnectMinDelay / reconnectMaxDelay both to 10000 ms) .
My question is, what is the proper way to implement this method if we want the consumer to not retrying login when received Login StatusMsg?
I had tried modifying the code to return ReactorCallbackReturnCodes.FAILURE in that case and it seems to work pretty well but not sure if that's a correct approach.
Best Answer
-
reconnectMinDelay / reconnectMaxDelay is the minimum/maximum time the
You can return ReactorCallbackReturnCodes.FAILURE to stop
Reactor waits (in milliseconds) before attempting to reconnect a failed channel.
Both are used in the connection step not in login step. Your application could
connect already(connection step was done) but it fails during login step. UPA
Java does not have option to control the maximum number of login retry and the
rapid rate. That why's your application infinite login retry attempts at a very
rapid rate.
infinite login retry attempts because try to login with the same invalid login
request does not help. Application will alway login fails. Then, you should
observe the login status and fix login request. This will make sure that your
application will be able to login successfully and can get data in the next
time.1
Answers
-
Thanks for the confirmation.
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛