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.

1 Answer

· Write an Answer
Upvote
Accepted
82.8k 280 53 77

@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.