Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • TREP APIs /
  • RFA /
avatar image
Question by Atilla · Feb 16, 2017 at 06:19 AM · rfaprovider

RFA OMM Provider sample project

Hi, I'm just starting to work/learn on RFA and just have gone through the project on Tutorials tab which is a consumer project. Would you suggest a source to get a basic Provider example? Thanks.

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

2 Replies

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by brian.sandri · Feb 16, 2017 at 10:37 AM

Hi @Atilla.Gurbuz,

I'm the development manager for RFA and several of the other APIs we build here. If you are just looking at starting a new project, instead of considering RFA please look at the Elektron SDK instead. ESDK is our strategic API offering that is providing the same functionality as RFA, but is much easier to learn and use and requires far less lines of code to accomplish the same thing. In addition, it is fully open source so you can see everything occurring in our implementation to help with learning, troubleshooting, and supporting your application.

ESDK has two layers to it, Elektron Message API (EMA) and Elektron Transport API (ETA).

ETA is just a renaming of UPA. EMA is higher level and is an ease of use layer above ETA;

EMA is a great starting point for you as it is easy to learn and you will likely be able to get something working very rapidly. In addition, the performance of EMA Java is far greater than RFA Java, particularly when also considering garbage collection and memory use.

You can find the ESDK information and downloads here on the Developer Community:

https://developers.thomsonreuters.com/electron

You can also download and access everything on GitHub here:

http://www.github.com/thomsonreuters/Elektron-SDK

Brian

Comment

People who like this

0 Show 1 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
Atilla · Feb 27, 2017 at 11:47 AM 0
Share

Thanks @brian.sandri when should we expect .Net SDK version of the Elektron?

Cheers,

Atilla

avatar image
REFINITIV
Answer by Nipat Kunvutipongsak · Feb 16, 2017 at 07:07 AM

Hello @Atilla.Gurbuz,

For RFA Java edition, you may try a com.reuters.rfa.example.omm.prov.StarterProvider_Interactive example which is normally in the Examples folder of every RFA Java packages.

The example will use the default configuration settings: Java Preferences API (registry in Windows/Flat-file based in Non-Windows), you can avoid changing it by using a programmatic approach (com.reuters.rfa.config.ConfigDb) as well. Please refer to steps below:

At the StarterProvider_Interactive.java file,

1. Insert a new method below.

public ConfigDb getConfigDb() {
    ConfigDb configDb = new ConfigDb();
    configDb.addVariable("myNamespace.Sessions.provSession.connectionList", "myConnection");    	
    configDb.addVariable("myNamespace.Connections.provConnection.connectionType", "RSSL_PROV");
    configDb.addVariable("myNamespace.Connections.provConnection.portNumber", "14002"); 
    return configDb;
}

This method will create a configuration 'myNamespace::provSession' namespace which is a default namespace used by this example.

For the OMM Provider type of the application, the value of connectionType must be 'RSSL_PROV'.

For the portNumber, its default value is 14002, and can be changeable as desired.

For the other useful parameters are

  • ipcTraceFlags (up to 31) is used to set the data-tracing level for the communication.
  • logFileName (none/console/ or any filename) is used to specify the log output.
  • mountTrace (true/false) is used to log connection information.

2. After adding the new method in step 1, you need to fix import error as well.

import com.reuters.rfa.config.ConfigDb;

3. Change the Context.initialize() statement to read the settings from the return object of the method in step 1.

// This statement is in a StarterProvider_Interactive() constructor.


Context.initialize(getConfigDb());

4. The example reads dictionary files from /var/triarch. You can specify the new location at the following statements:

// These statements are in addCommandLineOptions() method
// The sample below shows the location 
// of dictionary files in the same running directory

CommandLine.addOption("rdmFieldDictionary", "RDMFieldDictionary",
   "RDMField dictionary name and location.  Defaults to /var/triarch/RDMFieldDictionary");
CommandLine.addOption("enumType", "enumtype.def",
   "RDMEnum dictionary name and location.  Defaults to /var/triarch/enumtype.def");

Then, re-compile the source code and run the application.

java -classpath <classpath> com.reuters.rfa.example.omm.prov.StarterProvider_Interactive


For instance:
java -classpath D:\Workspace\rfaj\rfaj8_0_0_L2\rfaj8.0.0.L2\bin;D:\Workspace\rfaj\rfaj8_0_0_L2\rfaj8.0.0.L2\Libs\rfa.jar com.reuters.rfa.example.omm.prov.StarterProvider_Interactive

If you can run the StarterProvider_Interactive successfully, it should print the following result to the console:

*****************************************************************************
*          Begin RFA Java StarterProvider_Interactive Program               *
*****************************************************************************
Initializing StarterProvider_Interactive ...
RFA Version:  8.0.0.L2.all.rrg
Initialization complete, waiting for client sessions
Feb 16, 2017 6:53:17 PM com.reuters.rfa.internal.connection.rsslp.RSSLChannelSessionServer openListener
INFO: com.reuters.rfa.connection.rsslp.myNamespace.myConnection
Connection successful: myNamespace::myConnection


Received OMM LISTENER EVENT: myNamespace::myConnection  { state: SUCCESS, code: NONE, text: ""}

Then, you can run any OMM Consumer application to connect to this provider, there should be further output printed in the console. For example.

Receive OMMActiveClientSessionEvent from client position : 10.42.86.208/U0154418-TPL-A/myNamespace::myConnection/RFA Java Edition 8.0.0.L2.all.rrg
Pub session accepted.
Received OMM INACTIVE CLIENT SESSION PUB EVENT MSG with handle: com.reuters.rfa.internal.session.ClientSessionHandle@6d86b085


ClientSession from 10.42.86.208/U0154418-TPL-A/myNamespace::myConnection/RFA Java Edition 8.0.0.L2.all.rrg  has become inactive.
Feb 16, 2017 7:01:20 PM com.reuters.rfa.internal.session.ommp.OMMProviderImpl unregisterClient
WARNING: com.reuters.rfa.session.myNamespace.provSession
Handle already unregistered

Note: For RFA C++ or RFA .NET Edition, you can refer to <RFA Package>/Examples/StarterProvider_Interactive as well. Helpful documents can be found under <RFA Package>/Docs sub-folder.

Hope this helps!

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
8 People are following this question.

Related Questions

Decoded login message has wrong OMMMsg.MsgType

TREP stripping AttribInfo from UPDATE_RESP messages using custom model

Exception while accessing RFA View

RFA EU composite volume

Activate full message logs for RSSL connections in RFA C++

  • Feedback
  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Careers
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Calais
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Electronic Trading
    • Generic FIX
    • Local Bank Node API
    • Trading API
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRIT
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • World-Check Data File
  • Explore
  • Tags
  • Questions
  • Badges