You can find general information on changing adapter properties in the online developer documentation: Configuring your RET Adapters.
From completing the previous training modules in this series, you should by now have a running environment along with all the RET adapters exported as blades. If you were to connect your current environment and Caplin’s back-end systems (Caplin Platform) to a Caplin front-end application (for example, Caplin FX Professional Motif) you would be able to see trading data and carry out ESP (executable streaming price) trades.
In this tutorial you will learn how to configure the behaviour of your adapters by changing their configuration files - namely
trapi-configuration.properties. You can find these files inside your Deployment Framework directory under
Download the presentations for this course.
You will look at ways of modifying default RET adapter behaviour using existing config options, where you will:
Edit specific configuration files for each of the RET Adapters.
Look at configuring the RET connection properties as well as defining various adapter properties.
There are different ways to configure the RET Adapters depending on what layer and which connection you are looking at.
Using the Deployment Framework to configure your adapters
global_config/overrides/<Adapter>/etc/adapter.properties file defines the behaviour of an adapter. For detailed descriptions of the available configuration options, see Configuration file: adapter.properties.
adapter.properties config, displaying the various options available:
# Common adapter settings # Time gap between two trades for the same currency # one_click_gap_time= # Time interval for JMX statistics publishing # jmx_publish_interval= # Enables the director user manager # use_director_user_manager= # These are the precious metal unit conversions. metal_conversion=XAUUSD:[KG 995, 31.99], [KG 999, 32.12], [KG 9999, 32.148], [100G 999, 3.212], [10 TOLA, 3.746] metal_conversion=XAGUSD:[KG,32.1507], [TON, 32150.7] metal_conversion=XPTUSD:[KG, 32.150722] metal_conversion=XPDUSD:[KG, 32.150722] # Error messages from RET - example for a FxTradingAdapter message_translation=code:100,category:TradeRejection,pattern:.*client price has been expired.* message_translation=code:101,category:TradeRejection,pattern:.*not favour to bank.* message_translation=code:102,category:TradeRejection,pattern:.*gap time period.* message_translation=code:103,category:TradeRejection,pattern:.*No manual trader currently logged in.* message_translation=code:104,category:TradeRejection,pattern:.*One click deal do not have valid price.* message_translation=code:105,category:TradeRejection,pattern:^Trading in currency .+ has been suspended$ message_translation=code:106,category:TradeRejection,pattern:.*Trader terminated.* message_translation=code:107,category:TradeRejection,pattern:^Represented user .+ does not have permission to submit this order$ message_translation=code:108,category:TradeRejection,pattern:.*Streamtime expired.* message_translation=code:109,category:TradeRejection,pattern:.*Taker log differs from submit XML.* message_translation=code:110,category:TradeRejection,pattern:.*Less than.*seconds since last trade.* message_translation=code:111,category:TradeRejection,pattern:.*is not a valid settlement date.* message_translation=code:112,category:TradeRejection,pattern:.*Credit violation - Counterparty mismatch.* message_translation=code:113,category:TradeRejection,pattern:.*Unable to accept old price.* message_translation=code:114,category:TradeRejection,pattern:.*Price timeout.* message_translation=code:115,category:TradeRejection,pattern:.*Deal failed arbitration.* message_translation=code:116,category:TradeRejection,pattern:.*One Click Trading is not allowed.* # OrderAdapter # Set this to true to enable the alert feature for orders enable_order_alerts=false # The order statuses that trigger an alert on the front end. alert_on_status=Submitted alert_on_status=Cancelled alert_on_status=Deleted alert_on_status=Done alert_on_status=Completed alert_on_status=Active alert_on_status=Dormant alert_on_status=Expired alert_on_status=Rejected alert_on_status=Activating alert_on_status=Cancelling alert_on_status=Deactivating # FxTradingAdapter # Enable to check time gap between two trades for the same currency use_global_one_click_gap_time=false # LBNAdapter # How many days to fetch for historic blotter and hour when to restart the adapter # historic_blotter_days_to_fetch= # blotter_rollover_hour= # Set this if you want the executed & historic blotters to show # only the completed deals. Otherwise don't set these attributes as by default they are both false. executed_blotter_display_only_completed_deals=false historic_blotter_display_only_completed_deals=false # PermissioningAdapter # Load permissions from different sources in one transaction instead of separate once load_permissions_in_single_transaction=true
Message translations are regular expressions that match any exceptions thrown by Refinitiv APIs that we then map to an error code. With the Caplin FX Professional web app, this allows you to handle errors more effectively.
If the adapter receives an error message via RET and there is no matching message translation defined, the Adapter will then send out a default error code. This code will be
199 for all RET Adapters except for the Order Adapter, where the code will be
adapter.properties file is dependant on how your RET system integration is setup, this makes it difficult to generate specific error behaviour. Therefore, while we don’t provide any exercises on configuring
adapter.properties you are free to play around with some of the options available providing that your system allows it.
Configuring the connection to TrAPI
trapi-connection.properties file is used to define the behaviour of the connection between the adapter and the RET system, via the Refinitiv Trading API (TrAPI). You can access these connection properties under global_config/overrides/<Adapter>/etc/trapi-connection.properties.
trapi-connection.properties config for an adapter can be found either inside the adapters
trapi-connection.properties file, or in templates that are available within the documentation folder inside CaplinRETAdapterSuite.
Try this yourself
If you remember previously, you made some changes to the
trapi-connection.properties in the Creating a RET Adapter training module to connect to your RET system for each adapter.
In following exercise you will learn how to change a configuration option to load only a specific set of properties.
global_config/overrides/CalendarAdapter/etc/trapi-configuration.propertiesand add the following configuration for all your adapters:
As you have made changes to a configuration file in the adapters, you will need to restart them. Do this by opening a Cygwin console on your machine and navigating to your Deployment Framework’s topmost directory. Then execute the following command:
The configuration change we made to
/trapi-configuration.properties is helpful when analysing bugs with a smaller set of currencies, and it enables adapters to load faster.
Now open the Caplin FX Professional web app. The tiles frame drop-down should now show fewer options.
|You see currency pairs as well as their inverse currency pairs, if provided by the RET system.|