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
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 notuse the Java Preferences API and Java’s in-memory configuration data storage.
The configured nodes should follow theconvention of the configuration tree. When configuring utilizing the configpackage, an application needs to create the ConfigDb class and initializecontext 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);
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.
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.
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?
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.
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.
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.
Thanks again for your help