question

Upvotes
Accepted
1 0 0 1

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-sdkema-apirrtelektron-message-apiexception
icon clock
10 |1500

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

1 Answer

· Write an Answer
Upvotes
Accepted
21.5k 56 14 20

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 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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