Migrate from RFA Java to EMA

applicationsupport
edited March 27 in EMA

Hi we are migrating our application using RFA to the strategic APIs, specifically EMA.

Where can we download the EMA libraries to start development?

Also can we get this from Maven repo and which version do you recommend?

Thanks.

Tagged:

Welcome!

It looks like you're new here. Sign in or register to get started.

Answers

  • Hello @applicationsupport

    Best resource to start with RTSDK (EMA) is the developer portal Quickstart and Tutorials. The SDK can be downloaded from the dev portal, or from the GitHub repo or from LSEG MyAccount. We always recommend to get the latest version of the SDK. You can view the list of supported OS/Compiler combinations in the API Compatibility Matrix.

    The Java SDK package is also published and can be pulled from Maven central, as described in this link.

  • Hello @applicationsupport

    The RTSDK Java libraries (EMA and ETA APIs) are available on the Maven Central repository. However, it is recommended to download the SDK package to get all documents, API examples, resources, etc.

    The following articles might help you too:

    ema.png
  • Thanks for the info. We have RFA 7.6 which required us to import prefs.xml using rfaj7.6.0.L1.all.rrg/Tools/config_editor.sh

    EMA library requires new configuration file EmaConfig.xml in the path. How do we setup this file from current file? I have mentioned one of the current xml files we have.

    <preferences EXTERNAL_XML_VERSION="1.0">
    <root type="user">
    <map/>
    <node name="com">
    <map/>
    <node name="reuters">
    <map/>
    <node name="rfa">
    <map/>
    <node name="_System">
    <map/>
    <node name="Services">
    <map/>
    <node name="RDF">
    <map>
    <entry key="dataFormat" value="1"/>
    <entry key="feedName" value="RDF"/>
    <entry key="infrastructureType" value="RTIC"/>
    </map>
    <node name="QoS">
    <map>
    <entry key="rate" value="0"/>
    <entry key="timeliness" value="0"/>
    </map>
    </node>
    </node>
    </node>
    </node>
    <node name="of">
    <map/>
    <node name="Connections">
    <map/>
    <node name="test">
    <map>
    <entry key="connectionType" value="SSL"/>
    <entry key="dacs_CbeEnabled" value="false"/>
    <entry key="dacs_GenerateLocks" value="false"/>
    <entry key="dacs_SbePubEnabled" value="false"/>
    <entry key="dacs_SbeSubEnabled" value="false"/>
    <entry key="downloadDataDict" value="true"/>
    <entry key="logFileName" value="rfa.log"/>
    <entry key="masterFidFile" value="/rfaj7.7.1.L2.all.rrg/etc/Marketfeed/appendix_a"/>
    <entry key="portNumber" value="8101"/>
    <entry key="serverList" value="server123"/>
    <entry key="serviceList" value="RDF"/>
    </map>
    </node>
    </node>
    <node name="Sessions">
    <map/>
    <node name="test">
    <map>
    <entry key="connectionList" value="rfa::testconn"/>
    </map>
    </node>
    </node>
    </node>
    </node>
    </node>
    </node>
    </root>
    </preferences>

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @applicationsupport

    EMA doesn't support the SSL connection type. It supports the RSSL connection type.

    First, you need to run the ex100_MP_Streaming example to verify the connection.

    image.png

    You need to change:

    • localhost to server123
    • DIRECT_FEED to RDF
    • user to your DACS username

    The configurations look like this:

    <?xml version="1.0" encoding="UTF-8"?>
    <EmaConfig>

    <ConsumerGroup>
    <DefaultConsumer value="Consumer_1"/>
    <ConsumerList>
    <Consumer>
    <Name value="Consumer_1"/>
    <Channel value="Channel_1"/>
    <Dictionary value="Dictionary_1"/>
    <XmlTraceToStdout value="0"/>
    </Consumer>
    </ConsumerList>
    </ConsumerGroup>

    <ChannelGroup>
    <ChannelList>
    <Channel>
    <Name value="Channel_1"/>
    <ChannelType value="ChannelType::RSSL_SOCKET"/>
    <CompressionType value="CompressionType::None"/>
    <GuaranteedOutputBuffers value="5000"/>
    <ConnectionPingTimeout value="30000"/>
    <TcpNodelay value="1"/>
    <Host value="server123"/>
    <Port value="14002"/>
    </Channel>
    </ChannelList>
    </ChannelGroup>

    <DictionaryGroup>
    <DictionaryList>
    <Dictionary>
    <Name value="Dictionary_1"/>
    <DictionaryType value="DictionaryType::ChannelDictionary"/>
    </Dictionary>
    </DictionaryList>
    </DictionaryGroup>

    </EmaConfig>

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.