question

Upvotes
Accepted
1 0 0 2

how can i get the response data without call registerClient when I subscribe same ric second time?

refinitiv-realtimesubscription
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.

Hello @denny.w.h.zhong

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?


If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar question.

Thanks,


AHS

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

Thanks,
AHS

Upvotes
Accepted
78.8k 250 52 74

@denny.w.h.zhong

EMA doesn't cache the data. To get the response, you can reissue a request with a handle.

consumer.reissue(ReqMsg().initialImage(true), handle);

With this reissue, the application gets a new refresh via the application callback method.

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.

Upvotes
1 0 0 2

Would you like to get update messages(containing only changed fields’ value) after a refresh message(the first data response with all fields you specified in view) like below?

RefreshMsg

streamId="5"

domain="MarketPrice Domain"

solicited

RefreshComplete

state="Open / Ok / None / 'All is well'"

itemGroup="00 01"

permissionData="03 08 42 52 6c"

name="JPY="

nameType="1"

serviceId="2114"

serviceName="API_ELEKTRON_EDGE_TOKYO"

Payload dataType="FieldList"

FieldList FieldListNum="99" DictionaryId="1"

FieldEntry fid="22" name="BID" dataType="Real" value="114.50"

FieldEntry fid="25" name="ASK" dataType="Real" value="114.52"

FieldListEnd

PayloadEnd

RefreshMsgEnd

UpdateMsg

streamId="5"

domain="MarketPrice Domain"

updateTypeNum="0"

name="JPY="

serviceId="2114"

serviceName="API_ELEKTRON_EDGE_TOKYO"

Payload dataType="FieldList"

FieldList

FieldEntry fid="22" name="BID" dataType="Real" value="114.51"

FieldListEnd

PayloadEnd

UpdateMsgEnd

  1. If yes, before you re-subscribe the RIC, you need to unsubscribe the RIC first e.g. consumer.unregister(RIC2Handle.get("TEST1")); as I explained in the email below(sent on 22 Nov). This is to close the RIC item stream to stop receiving data sent to this item stream. When you re-subscribe the RIC(a new item stream opens), you will get data from the new item stream only.

  1. If no. You should use snapshot request. After EMA sends a snapshot request, it receives a refresh message. Then, EMA closes this item stream immediately automatically. Hence, the application will not receive any data(update messages) of this RIC. You can re-subscribe this RIC after getting a refresh message without unsubscribing the RIC before(EMA has done this automatically). To request snapshot data, set interestAfterRefresh to false like an example snipped source code below:

consumer.registerClient(reqMsg.serviceName(serviceName).name("TEST1").interestAfterRefresh(false), appClient);

Note: If you set interestAfterRefresh to true, you will get update messages after a refresh messages till you unsubscribe the RIC.

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.