Refinitiv Real-Time SDK - Java
|Last update||Sept 2021|
|Compilers||JDK 1.7 or greater|
The steps outlined within this guide depend on details outlined within the RTSDK Java Installation Guide available within the Documentation tab. Ensure this document is at your disposal.
Access to an existing Refinitiv Real-Time Distribution System to retrieve content
The goal of this Getting Started tutorial is to provide the developer the steps required to download and confirm they have access to their Refinitiv Real-Time Distribution System (RTDS) by executing one of the packaged RTSDK examples. EMA and ETA are sub-components of the RTSDK (Refinitiv Real-Time SDK) package that includes a number of examples available to test specific functionality. For our purposes, the goal is to walk through the procedure to specify the connection details to access your market data environment to connect and retrieve market data content.
The tutorial is applicable to both Linux and Windows environments.
Download the RTSDK
The RTSDK package includes the Enterprise Message API (EMA) and Enterprise Transport API (ETA) components. Outlined within the RTSDK Java Installation Guide, you can refer to the sections to obtain the download package, setting up Gradle, and establishing any dependencies required to run the packaged examples.
Select and configure a consumer sample
Once the RTSDK package has been installed within your file system, you can begin the process of verifying you can successfully retrieve streaming data from your RTDS environment. As outlined within the Building Examples section defined within the RTSDK Java Installation Guide, ensure you can generate a listing of the RTSDK examples. This will ensure your Gradle system is operating and prepare you to try out one of the examples.
Once you have successfully listed the examples as outlined within the Installation Guide, then we can move to the Building and Running an Example using Gradle section within the guide. While there are many examples to try, for our purposes, we will simply consume some streaming market data from the platform using the example runVaConsumer.
To run this example, you will need to ensure you the following:
- Server connection details
- Eg: ads:14002
- Eg: ads:14002
- Service providing market data
- Eg: MDSERVICE
- Eg: MDSERVICE
You will need to reach out to your market data team to get this required information.
Build and run the example
As outlined within the Installation Gude, use Gradle to build and run this example.
To list the command-line parameters:> Gradlew runVaConsumer --args="-?"And an example of how to run this test to retrieve streaming market data:> Gradlew runVaConsumer --args="-c rtds:14002 ELEKTRON_AD mp:AAPL.O"
Upon execution, we are presented with some initial connection results followed by our initial image called a RefreshMsg. The RefreshMsg or initial image contains all fields for the requested instrument representing the latest up-to-date market values. Following this image, we will begin to see UpdateMsgs or real-time updates reflecting changes in the market.
The example application will automatically exit after ~1 minute. Alternatively, you can (Ctrl+C) to exit at any time.
Channel Up Event: java.nio.channels.SocketChannel[connected local=/10.46.208.3:60241 remote=ewa/10.116.80.111:14002]
Received Login Refresh for Username: U8007876
State: Open/Ok/None - text: "Login accepted by host torsrmds11."
Received Source Directory Refresh
State: Open/Ok/None - text: "null"
filter: INFO | GROUP | STATE
vendor: Thomson Reuters
State: Open/Ok/None - text: "All is well"
3/DSPLY_NAME: APPLE INC
16/TRADE_DATE: 21 SEP 2021
(Channel java.nio.channels.SocketChannel[connected local=/10.46.208.3:60241 remote=ewa/10.116.80.111:14002]):
UPDATE TYPE: QUOTE
11683/BIDFINMMID: <blank data>
11684/ASKFINMMID: <blank data>
12783/NBBO_IND: 6 (5)
14246/ORDREC2_MS: <blank data>