question

Upvotes
Accepted
1 0 0 0

Error processing message

Hello, I had an issue whereby I missed a BLANK check and the code threw an exception at which point no more messages were processed. Seems wrong for calling code to not handle the exception Code snippet here with BLANk check added final short fid = (short) fieldEntry.fieldId(); final String name = fieldEntry.name(); if (Chains.REF_COUNT_FID == fid && Data.DataCode.BLANK != fieldEntry.code()) { refCount = ((int) fieldEntry.uintValue()); Exception Exception in thread "pool-55-thread-1" Exception Type='OmmInvalidUsageException', Text='Attempt to uintValue() while entry data is blank.', Error Code='-4048' at com.thomsonreuters.ema.access.EntryImpl.ommIUExcept(EntryImpl.java:628) at com.thomsonreuters.ema.access.EntryImpl.uintValue(EntryImpl.java:347) at com.nomura.estrat.reuters.ema.chains.ChainEventHandler.processChain(ChainEventHandler.java:92) at com.nomura.estrat.reuters.ema.chains.ChainEventHandler.onRefreshMsg(ChainEventHandler.java:47) at com.thomsonreuters.ema.access.ItemCallbackClientConsumer.notifyOnRefreshMsg(ItemCallbackClient.java:2561) at com.thomsonreuters.ema.access.ItemCallbackClient.processRefreshMsg(ItemCallbackClient.java:1789) at com.thomsonreuters.ema.access.ItemCallbackClient.defaultMsgCallback(ItemCallbackClient.java:1626) at com.thomsonreuters.upa.valueadd.reactor.Reactor.sendDefaultMsgCallback(Reactor.java:1894) at com.thomsonreuters.upa.valueadd.reactor.Reactor.sendAndHandleDefaultMsgCallback(Reactor.java:1909) at com.thomsonreuters.upa.valueadd.reactor.WlItemHandler.callbackUser(WlItemHandler.java:2940) at com.thomsonreuters.upa.valueadd.reactor.WlItemHandler.readRefreshMsg(WlItemHandler.java:2191) at com.thomsonreuters.upa.valueadd.reactor.WlItemHandler.readMsg(WlItemHandler.java:1905) at com.thomsonreuters.upa.valueadd.reactor.Watchlist.readMsg(Watchlist.java:292) at com.thomsonreuters.upa.valueadd.reactor.Reactor.performChannelRead(Reactor.java:2861) at com.thomsonreuters.upa.valueadd.reactor.Reactor.dispatchChannel(Reactor.java:2481) at com.thomsonreuters.upa.valueadd.reactor.ReactorChannel.dispatch(ReactorChannel.java:574) at com.thomsonreuters.ema.access.OmmBaseImpl.rsslReactorDispatchLoop(OmmBaseImpl.java:1487) at com.thomsonreuters.ema.access.OmmBaseImpl.run(OmmBaseImpl.java:1620) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748)
elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-apiexception
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

1 Answer

Upvotes
Accepted
13k 32 12 18

Hi @john.moorhouse,

I think, it would be incorrect for a real-time SDK which promises to deliver every message, to handle/ignore an exception and continue working. You can view the source code at Refinitiv github site here, and propose a pull request for any deficiency.

PS: You are using an older version of SDK, and should update to a latest one.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Click below to post an Idea Post Idea