Using batch request message with EMA
When creating and registering a batch request message for multiple RIC's with EMA for Java, is it possible to determine the RIC or some other identifier for each incoming event?
Best Answer
-
@chris.garvin
I have run example370_MarketPrice_Batch in EMA Java 1.0.5 package. I found that the UpdateMsg in the callback method contains the name and service name.
public void onUpdateMsg(UpdateMsg updateMsg, OmmConsumerEvent event)
{
System.out.println("Item Name: " + (updateMsg.hasName() ? updateMsg.name() : "<not set>"));
System.out.println("Service Name: " + (updateMsg.hasServiceName() ? updateMsg.serviceName() : "<not set>"));
if (DataType.DataTypes.FIELD_LIST == updateMsg.payload().dataType())
decode(updateMsg.payload().fieldList());
System.out.println();
}The output is:
Incoming Reactor message (Fri Sep 02 17:52:16 ICT 2016):
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<UPDATE domainType="MARKET_PRICE" streamId="5" containerType="FIELD_LIST" flags="0x90 (HAS_SEQ_NUM|DO_NOT_CONFLATE)" updateType="0" seqNum="13918" dataSize="8">
<dataBody>
<fieldList flags="0x08 (HAS_STANDARD_DATA)">
<fieldEntry fieldId="3284" data="0C23"/>
</fieldList>
</dataBody>
</UPDATE>
Item Name: JPY=
Service Name: API_ELEKTRON_EPD_RSSL
Fid: 3284 Name = EURO_NETCH DataType: Real Value: 0.35The above output shows the XML tracing of the retrieved update and the output from the example. Although the update message doesn't contain information about the item name and service, EMA can map it to the subscribed item name and and service name.
0
Answers
-
Chris, There are two mechanisms for identifying the updates from one another. First is the Refresh/Update callback carries the instrument name in its payload. E.g:
if(updateMsg.hasName())
updateMsg.name(); // subscription RICOther is using closures - which is any user defined object, passed as a parameter when registering a client. In the callback event this closure object can be retrieved as:
OmmConsumerEvent.closure()
0 -
There is another thread on here with some related information you may find useful
0 -
I'm finding that the update messages do not have a name associated with them. Only the refresh messages do from what I can see. Is this maybe an issue with how I'm creating the request messages? Regarding closures, I'm unclear on how the RIC can be assigned to individual messages.
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛