question

Upvotes
Accepted
5 1 0 4

RFAJ8.0 ConfigDb, unable to acquire a Session

Hello,

I'm trying to initialize Context using a ConfgDb instance :

configDb.addVariable("com.reuters.rfa.TestDistrib.Connections.TestDistrib.serverList","spl-trep-101");
configDb.addVariable("com.reuters.rfa.TestDistrib.Connections.TestDistrib.portNumber","14002");
configDb.addVariable("com.reuters.rfa.TestDistrib.Connections.TestDistrib.connectionType","RSSL");
configDb.addVariable("com.reuters.rfa.TestDistrib.Sessions.TestDistrib.connectionList","TestDistrib");

Context.initialize(configDb); // returns OK
Session.acquire("TestDistrib"); // returns null

I also tried to acquire a session using string "com.reuters.rfa.TestDistrib" but it didn't work either.

I know it's a beginner question but.. can anyone help ?

In advance thank you.

treprfarfa-apijavaconfigurationsession
icon clock
10 |1500

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

Upvotes
Accepted
1.9k 7 11 16

Hello @claude.thomas,

In the configuration settings via ConfigDb, you can omit 'com.reuters.rfa.' for the first parameter (scopedVarName).

Kindly modify the source code to be as follows:

configDb.addVariable("TestDistrib.Connections.TestDistrib.serverList","spl-trep-101");
configDb.addVariable("TestDistrib.Connections.TestDistrib.portNumber","14002");
configDb.addVariable("TestDistrib.Connections.TestDistrib.connectionType","RSSL");
configDb.addVariable("TestDistrib.Sessions.TestDistrib.connectionList","TestDistrib");

Context.initialize(configDb); // returns OK
Session.acquire("TestDistrib::TestDistrib"); // returns null

In the snippet code above, please see the meaning of strings' position below.

  • configDb.addVariable("<nameSpace>.Sessions.<sessionName>.connectionList","TestDistrib");
  • configDb.addVariable("<nameSpace>.Connections.<connectionName>.serverList","spl-trep-101");
  • configDb.addVariable("<nameSpace>.Connections.<connectionName>.portNumber","14002");
  • configDb.addVariable("<nameSpace>.Connections.<connectionName>.connectionType","RSSL");
  • Session.acquire("<nameSpace>:<sessionName>");

Note that a character '.' is not allowed for the <nameSpace> string value. If you try to use a nameSpace that contain it. For example; com.reuters.rfa.TestDistrib, RFA will return the following error message:

// A result from..
// Session.acquire("com.reuters.rfa.TestDistrib::TestDistrib");

*****************************************************************************
*          Begin RFA Java StarterConsumer Program                           *
*****************************************************************************
*com.reuters.rfa.TestDistrib.Connections.TestDistrib.serverList : spl-trep-101
*com.reuters.rfa.TestDistrib.Connections.TestDistrib.portNumber : 14002
*com.reuters.rfa.TestDistrib.Connections.TestDistrib.connectionType : RSSL
*com.reuters.rfa.TestDistrib.Sessions.TestDistrib.connectionList : TestDistrib


May 04, 2017 11:00:46 AM com.reuters.rfa.internal.session.SessionManager acquire
SEVERE: com.reuters.rfa.session
Session initialization: Could not instantiate session "com.reuters.rfa.TestDistrib::TestDistrib" : Instance cannot contain "."


Could not acquire session.

Hope this helps!

icon clock
10 |1500

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

Upvotes
5 1 0 4

Hello,

Thank you very much, it now works.

Indeed, I didn't correctly set the parameter for Session.acquire method.

icon clock
10 |1500

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

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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