Description: We have encountered an issue while migrating from one of the reuters server[old] to another reuters server[new]. We use reuters to receive the real time feed for the FX related product and rates [fxspot, rates and swap points] and the underlying treasury system being used is Murex.
Issue: During our migration we were supposed to migrate to the new reuters server from the old one[all else being unchanged in terms of feed]. For this migration to take effect we used a flat xml based file called rfa_configuration.xml which contained the address of the new reuters server and the port no.
This file is placed at the applicatory directory of the Murex system. To make the change taking the effect we run the below command:
java -jar ./fs/murex/code/repository/reuters/reuters-rfa-config-loader/rfaj7.2.0.E3/reuters-rfa-config-loader-rfaj7.2.0.E3.jar -file rfa_configuration.xml and then restarted the basic rfa and rtbs services[where . represent the application root directory where the rfa_configuration.xml file is present].
After doing the above necessary steps we found that the Murex system was still connected to the old reuters server instead of new server whereas as per the rule it should have now been connected to the new one. We checked the various relevant log file but could not found the reason for this erroneous behavior.
Resolution sought from Reuters: Since this change has been implemented in our production system and the change has not taken effect we would like to know the root cause of this. Also I would like to appraise that we continue to receive the feed from our old reuters server but this needs to be migrated on a priority basis to our new server.
To better understand this problem we would like to seek your help on:
The above information would help us to narrow down the problem on the specific jar being used for connection.
I have looked into the given configuration file, the connection nodes in the file specify different server in the serverList e.g. REUADSDSS.sg.uobnet.com or satanas or morningstarrmds or mdemo18. Please make sure that you configure the serverList in the correct connection node read by the application. If you do not know which node is used, please contact Murex support team.
For the helps that you asked, please refer to the responses below:
1. In RFA Java package there is only config_loader.jar which is used to load xml configuration to Java Preferences. There is no reuters-rfa-config-loader-rfaj7.2.0.L2.jar and reuters-rfa-config-loader-rfaj7.2.0.E3.jar in the package. Both file are modified by Murex so I do not know which file is used for connection. You need to contact Murex support.
2. Based on my team experiences, it is possible that importing file containing changed configuration does not take effect on the machine. The possible workaround is to remove the named space node that your application uses. Then, import the configuration file again.
In RFA Java package:
a) The command line to remove the name space is:
java -jar config_remover.jar -user -path /com/reuters/rfa/<name_space_node>
Note: According to the given file, name_space_node is Murex
b) The command line to import the file is:
java -jar config_loader.jar -file <xml_file>
c) the command line to export RFA configuration on the machine to xml file:
java -jar config_exporter.jar -user -path com -file <new_xml_file>
Then, you can look into the new xml file showing what configuration is on the machine.
You may try the command lines a) with Murex jar file named similar to config_remover.jar and try the command line b) with reuters-rfa-config-loader-rfaj7.2.0.L2.jar or reuters-rfa-config-loader-rfaj7.2.0.E3.jar and c) with Murex jar file named similar to config_exporter.jar. If these do not work, you should contact Murex support team for the command arguments/command lines of Murex jar files.
3. RFA java trace log file provides the connection process log e.g. which the server that the application connects to. To enable this, add the following configuration parameters into the connection node which connectionType is “SSL” or “RSSL” that the application reads in the configuration xml file
<entry key="ipcTraceFlags" value="7"/> <entry key="mountTrace" value="true"/> <entry key="logFileName" value="rfa.log"/>
Then, import the file and restart the application. The default location of log file is in the application run directory.
By default the RFA Java library uses Java Preferences for its configuration. The truth of the matter is that - IMHO - Java Preferences was meant by Oracle/Sun to be used for desktop applications, not server applications. For a server application, the Java Preferences technology simply just confuses everyone and makes the world much more complex than it needs to be. It leads to confusion over what config is actually being picked up. Exactly the problem, your're facing.
So you'll need to understand how Java Preferences stores the config for the platform you are on. On Windows this is buried in the Registry, on Unix/Linux this is buried in some hidden files that you are not supposed to edit directly.
Judging from your question it appears that Murex has created a loader utility that can take an XML file and load it into Java Preferences' secret storage. Ultimately it is what is in the secret storage area that counts. So you need to check that.
On Unix/Linux that would be directory ~/.java/.userPrefs for User-level preferences and System-level preferences are in /etc/.java/.systemPrefs. Check these locations and see what's in them. (I can see from your config that it is all User-level so ~/.java/.userPrefs directory is what you want to consult in your case)
(I'm just assuming you are on Linux/Unix)