question

Upvotes
Accepted
24 1 0 6

EMA Java - Request timeout

When we receive a StatusMsg like the following

  
                
  1. StatusMsg
  2. streamId="5"
  3. domain="MarketPrice Domain"
  4. state="Open / Suspect / None / 'Request timeout'"
  5. name="TICKER"
  6. serviceId="10"
  7. serviceName="ELEKTRON_DD"
  8. StatusMsgEnd

Is it possible to close this stream with the given streamId when this occurs. This is to prevent EMA from sending repeated timeout status messages.


elektronrefinitiv-realtimeema-api#product
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.

Hi @xinjames.chen ,

Thank you for your participation in the forum.

Are any of the replies below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the most appropriate reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thank you,

AHS

Hi,

Please be informed that a reply has been verified as correct in answering the question, and marked as such.

Thank you,

AHS

1 Answer

· Write an Answer
Upvote
Accepted
79.2k 251 52 74

@xinjames.chen

Thank you for reaching out to us.

Yes, you can unregister an item calling the unregisterClient method with a handle (UInt64) returned by the registerClient method.

However, if you use a batch request, you can get an item's handle from the AppClient::onStatusMsg callback method by calling the OmmConsumerEvent::getHandle() method inside the callback.

Otherwise, you can change the RequestTimeout value in the consumer configuration. The default value is 15 seconds.

1698812830716.png



1698812830716.png (30.6 KiB)
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.

Thank your for your earlier guidance, I've implemented the suggested changes using event.handle() method. However, after adjusting the request timeout value to 100 milliseconds, I've encountered a new issue.

I got the following message when creating the ommConsumer

c.refinitiv.ema.access.OmmConsumerImpl : loggerMsg

ClientName: ChannelDictionary

Severity: Warning

Text: RDMDictionary stream state was changed to suspect with status message

streamId 3

Reason State: Open/Suspect/None - text: "Request timeout"

loggerMsgEnd

This prevents me from even sending a request to the server, thereBy making it challenging to test the original "Request timeout" issue.

@xinjames.chen

100 miliseconds is too small. You can use the default value (15000) or increase the value.

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.