Elektron - EMA version upgrade
We are using EMA 3.0 Java API in production. Recently we had an issue were in there was a login failure with one of the ADS server on our end and we couldn't stream the market data. EmaConfig.xml provides ChannelSets using which multiple ADS server can be configured to connect in case of a server failure. Examples from “Elektron SDK - 1.5.0.L1” shows the configuration xml can be provided to createOmmConsumerConfig method like below. Below work only with 3.5.0.0 version of the EMA API.
consumer = EmaFactory.createOmmConsumer(EmaFactory.createOmmConsumerConfig("EmaConfig.xml").username("user"));
1. Can EmaConfig.xml be used with 3.0 version of the api, does it support ChannelSets ? any code samples ?
<ChannelSet value="Channel_1, Channel_2"/>
2. We downloaded “Elektron SDK - 1.5.0.L1” from developer portal https://developers.refinitiv.com/elektron/elektron-sdk-java/downloads
After extracting the zip it had below java api.
ema-3.5.0.0.jar
ansipage-3.5.0.0.jar
upa-3.5.0.0.jar
upaValueAdd-3.5.0.0.jar
upaValueAddCache-3.5.0.0.jar
is this the latest version to upgrade ? any known issues with this version of the api ?
Any advice is greatly appreciated.
Best Answer
-
Hello @nnagarajan4
What is the exact version of EMA Java and ESDK that you are using?
The ChannelSet feature has been added in EMA Java version 3.0.3, so the EMA Java 3.5.0 can use this feature.
To use this feature you can set multiple Channels into ChannelSet configuration in Consumer node configuration of EmaConfig.xml file
<Consumer>
<Name value="Consumer_2"/>
<!-- ChannelSet specifies an ordered list of Channels to which OmmConsumer will attempt to -->
<!-- connect, one at a time, if the previous one fails to connect -->
<ChannelSet value="Channel_1, Channel_2"/>
<Dictionary value="Dictionary_2"/>
<XmlTraceToStdout value="0"/>
</Consumer>Next, place the EmaConfig.xml file in the application running directory and use set the consumerName() to the Consumer node that contains a ChannelSet.
consumer = EmaFactory.createOmmConsumer(EmaFactory.createOmmConsumerConfig().consumerName("Consumer_2"));
You can find more detail in the following article and EMA Java examples:
- Elektron Message API (EMA) - Configuration Overview article
- example110__MarketPrice__FileConfig
- example111__MarketPrice__UserSpecifiedFileConfig
The EMA Java 3.5.0 L1 (ESDK Java 1.5.0 L1) is the current latest version. You can find more detail regarding know issue in GitHub issue page.
1
Answers
-
We are using EMA 3.0.
1. Is EMA Java 3.5.0 L1 (ESDK Java 1.5.0 L1) production ready. When was this released ? what is the difference between G1 and L1 versions ?
2. What is the purpose of Dictionary and what is the default if this is not provided ?
<Dictionary value="Dictionary_2"/>
3. Instead of XmlTraceToStdout can we use log4j to log the api logs ?
XmlTraceToStdout=1
0 -
Hello @nnagarajan4
1. Is EMA Java 3.5.0 L1 (ESDK Java 1.5.0 L1) production ready. When was this released ? what is the difference between G1 and L1 versions ?
The EMA Java 3.5.0 L1 (ESDK Java 1.5.0 L1) is production ready. It was released on 31th March 2020. You can download the API from https://developers.refinitiv.com/elektron/elektron-sdk-java/downloads link.
The "G" version is the development release while "L" is the production release (with full test). For production use, the "L" version is recommend.
2. What is the purpose of Dictionary and what is the default if this is not provided ?
Basically, Most of the items distributed on Refinitiv Real Time platforms use the field list data structure. This data structure is made of a list of field/value pairs that transport several values of an item.
Each element of a field list has a unique field ID (FID) and a value. The Dictionary is the mapping information between FID and Field name such as FID 22 is "BID" field and FID 25 is "ASK" field.
By default, the API automatics download Dictionary information from Elektron for applications. The application may choose to download the local Dictionary files (RDMFieldDictionary and enumtype.def files) instead. The Dictionary files can be downloaded from https://my.refinitiv.com/ web site (Category "MDS - General" -> Product "TREP Template Service Pack")
For more detail regarding the Dictionary and Elektron Real-Time concept, I strongly suggest you check the following articles:
- 10 important things you need to know before you write an Elektron Real Time application
- Elektron Message API (EMA) - Configuration Overview (Dictionary Types section)
3. Instead of XmlTraceToStdout can we use log4j to log the api logs ?
No, the API's XML trace message cannot be logged with other Java Logging libraries.
1
Categories
- All Categories
- 6 AHS
- 39 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
- 60 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛