question

Upvotes
Accepted
3 0 1 1

rfaj7.2.0.L2.all.rrg, Session.acquire error in JDK 7, WAS 8.5

Hi,

Our MarketData system was build with RFA 7.2, and deployed on JDK1.6, WAS 7.5, it worked fine.

We upgrade it to new JDK 7 and WAS 8.5, but we get some error when

Session.acquire.

Is the RFA7.2 compatible with new jdk and was?

Thanks,

Hanson

treprfarfa-api
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.

Monitored by @Wasin Waeosri

Hi @Hanson_Chen. Thank you for your participation in the forum.

Is the reply below satisfactory in resolving your query?

If so please can you click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question.

Thanks

AHS

Upvotes
Accepted
24.6k 54 17 14

Hi @Hanson_Chen

Does the user that run WAS8.5 has permission to access /<user>/.java/.userPrefs/ folder that keeps all Java preferences configurations?

Basically, there are two configuration trees in RFA Java, the System Preferences and User Preferences. In Linux, both preferences are stored in ordinary xml files. System Preferences are stored in etc/.java/.systemPrefs/. User preferences are stored in ~/.java/.userPrefs/ (under user's home directory).

I am not sure whether the WAS can access the user's ~/.java/.userPrefs/ directory or not.

You may try to change the application to populate RFA Java configuration with the the RFA Java Config package instead. This Config package does not use the Java Preferences API and Java’s in-memory configuration data storage.

The configured nodes should follow the convention of the configuration tree. When configuring utilizing the config package, an application needs to create the ConfigDb class and initialize context with this instance like the following snippet code.

import com.reuters.rfa.config.ConfigDb;
…
ConfigDb configDb = new ConfigDb();
configDb.addVariable("<Namespace>.Sessions.<Session Name>.connectionList","<ConnectionName>");
configDb.addVariable("<Namespace>.Connections.<Connection Name>.connectionTy e","RSSL");
…
Context.initialize(configDb);
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
17.2k 82 39 63

Hi @Hanson_Chen

The README file with your RFA package should explicitly state the version(s) of java (jdk) it will work with. Because it is difficult to determine exactly where the issue could be, one test you can do is try one of the simple consumer test samples within the rfaj 7.2 package against Java 7 - this will eliminate other factors. If this too fails, you will need to update your RFA Java version.

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
22k 58 14 21

Hi Hanson,

The readme file included with API, lists the exact OS/hardware/JDK version which are supported. I don't have RFA 7.2, but JDK 7 support was added somewhere between 7.0 (JDK1.6) and 7.4 (JDK1.7).

You should try to compile/run an RFA example outside of Application Server environment to quantify the source of error.

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
3 0 1 1

Thank you @Gurpreet and @nick.zincone.

The QuickStart example inside RFA 7.2 run successfully in the Linux machine.

But when we run the MarketData application hosted in WAS8.5:

this._session = Session.acquire(sessionName);

the _session is null. Seems that it can't find the session created by config_edit in RFA.

Any idea?

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
24.6k 54 17 14

Hi @Hanson_Chen

Please be informed that the RFA Java 7.2 is already end of life and no longer supported.

I recommend you upgrade the API to the RFA Java version 7.6.1 L2 which is the latest version for the MarketData interface/SSL connection. Upgrading to the new version also prevent any incidents from the know issues that have been fixed between 7.2 and 7.6 versions.

You can download RFA Java 7.6.1 L2 via the https://developers.thomsonreuters.com/thomson-reuters-enterprise-platform/robust-foundation-api-rfa-0/downloads link.

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
1.5k 5 6 7


Just a guess: This has nothing to do with the version of Java, RFA, nor the version of WAS.

I'm guessing your application stores its configuration in Java Preferences?. Because this is what RFA Java does by default. Have you moved machine or perhaps moved to another account on existing machine? This may explain why you lost your Java Preferences setup in the process and this may explain why you get this error. Bottom line: you forgot to move your Java Preferences setup with you!

You may also want to have a look at Preferences2Go, which may help you to separate your Java Preferences configuration from the physical platform you are working on.

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
3 0 1 1

Thanks all for your response, it help us for troubleshooting and fixing the issue.

The issue is fixed by creating the same setting under 'user' node in the config_edit tool. Originally we just created under 'system' node.

so seems this method retrieve the setting from User preferences.

this._session = Session.acquire(sessionName);

Thanks again for your help

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.