Multiple hostnames in consumerConfig for EMA ?
OmmConsumerConfig config = EmaFactory.createOmmConsumerConfig(); consumer = EmaFactory.createOmmConsumer(config.host(getHostName() + ":" + getPortNumber()).username(getUserName()));
Is there an option to provide multiple hostnames to the createOmmConsumer(config.host()) for load balancing or fail-safe operation? Can you please provide with any example if its possible?
Best Answer
-
Hello @sagar.s
OmmConsumerConfig.host(String) is to specify a hostname and
port that EMA will connect to so it does not accept multiple hosts. However,
EMA provides another way to configure EMA for multiple hosts by using ChannelSet
parameter in the Configuration file named EmaConfig.xml as explained in
EMAJ_ConfigGuide.pdf:The example of ChannelSet for multiple Channels in EmaConfig.xml:
<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>Each Channel can specify a host and port:
<Channel>
<Name value="Channel_1"/>
...
<Host value="localhost"/>
<Port value="14002"/>
</Channel>
<Channel>
<Name value="Channel_2"/>
...
<Host value="192.168.27.48"/>
<Port value="14002"/>
</Channel>You can try example110__MarketPrice__FileConfig
which loads Consumer_2 configuration that sets multiple Channels in the ChannelSet parameters. The application loads Consumer_2 from EmaConfig.xml file located in the application's working directory.The snipped source code to load Consumer_2 configuration:
consumer = EmaFactory.createOmmConsumer(EmaFactory.createOmmConsumerConfig().consumerName("Consumer_2"));
The example output when EMA tried to connect to
the first host in Channel_1 but it failed. Then, it tried to connect to
the second host in Channel_2 and it succeeded:0
Answers
-
It works for me: after trying several channel, it finds the good one. But then, when I try to register with another service name that depends on another channel, it doesn't work. It seems my consumer doesn't retry all channel and keeps the previous one.
Do you know if there is a way to force it to change its channel each time it is called?0 -
Hello @TD_BNP
I do not know the way to do this. Please contact EMA development team who is the product expert and should be able to help you on this. You can contact the development team directly via https://github.com/thomsonreuters/Elektron-SDK/issues then
click "New issue" button.0
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 中文论坛