@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.
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
updateTypeNum="0"
FieldList
FieldEntry fid="22" name="BID" dataType="Real" value="114.51"
UpdateMsgEnd
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.