Project configuration
Properties files
note
These properties files relate to configuring the Atoti FRTB application. For details of properties files for configuring inputs to the calculations, see Configuration files.
Location: The application properties files are provided in the frtb-starter
module in the frtb-starter/src/main/resources/
directory
File | Purpose |
---|---|
activepivot.remote.properties | ActiveMonitor properties |
application.yaml | Sets port and context for the application |
application.properties | General properties |
frtb-config.properties | Cube levels for postprocessors and constant values used in tuple publishers and postprocessors |
hibernate.properties | Hibernate (persistence and query service) properties |
signoff.properties | General Sign-off module configurations |
signoff.export.properties | Sign-off export configurations |
Spring annotations
Annotation | Meaning | Value |
---|---|---|
@ConditionalOnAdjustmentsWithDirectQuery | Adjustments activated as read-only for DirectQuery | directquery.withAdjustments AND starter.deployment.type=direct-query AND configuration.sign-off.enabled |
@ConditionalOnClickHouse | DirectQuery uses ClickHouse | directquery.database.type=clickhouse AND starter.deployment.type=direct-query |
@ConditionalOnDirectQueryDatabase | DirectQuery is activated | starter.deployment.type=direct-query |
@ConditionalOnInMemoryDatabase | In-memory mode is activated, DirectQuery is disabled | starter.deployment.type=in-memory |
@ConditionalOnMSSQL | DirectQuery uses MSSQL (not implemented) | directquery.database.type=mssql AND starter.deployment.type=direct-query |
@ConditionalOnNoAdjustmentsWithDirectQuery | SignOff is activated but DirectQuery has no information about adjustments | NOT directquery.withAdjustments AND starter.deployment.type=direct-query AND configuration.sign-off.enabled |
@ConditionalOnSignOffDisabled | SignOff is not used | NOT configuration.sign-off.enabled |
@ConditionalOnSignOffEnabled | SingOff is fully enabled on an in-memory setup | configuration.sign-off.enabled AND NOT starter.deployment.type=direct-query |
@ConditionalOnSignOffHierarchy | The SignOff hierarchy is displayed for in-memory or DirectQuery cube | configuration.sign-off.enabled |
@ConditionalOnSnowflake | DirectQuery uses SnowFlake | directquery.database.type=snowflake AND starter.deployment.type=direct-query |
@ConditionalOnHasCombinedCube | The current node contains the “FRTBCombinedCube” | combined.disable == false |
@ConditionalOnHasDataCube | The server contains data cubes | starter.deployment.type != query-node |
@ConditionalOnHasImaCube | The server contains “InternalModelApproachCube” and allows other IMA cubes | ima.disable == false |
@ConditionalOnHasImaDrcCube | The server contains the “IMADRCCube” | ima.drc.disable == false AND ima.disable == false |
@ConditionalOnHasImaPLCube | The server contains the “PLCube” | ima.plat-backtesting.disable == false AND ima.disable == false |
@ConditionalOnHasImaStressCalibrationCube | The server contains the “StressCalibrationCube” | ima.stress-calibration.disable == false AND ima.disable == false |
@ConditionalOnHasQueryCube | The server contains the query cube | starter.deployment.type = query-node OR combined.disable != false |
@ConditionalOnLocalBus | The server uses the internal bus to communicate between data cubes and query cube | starter.deployment.transport == local |
@ConditionalOnNettyBus | The server uses the Netty bus to communicate between data cubes and query cube | starter.deployment.transport == netty |
@ConditionalOnQueryNode | The server node contains only the query cube | starter.deployment.type == query-node |
@ConditionalNotOnDirectQueryDatabase | If DirectQuery is not enabled | starter.deployment.type != direct-query |
Data Files
You will need to specify where your CSV files are placed. In the default implementation, the CSV files are required to provide Atoti Server with the necessary data and configuration to do the calculations in Atoti FRTB.
All the files need to be kept under one directory of your choice anywhere on the file system. The path to this directory needs to be specified in application.properties. The below property needs to be updated to specify an accessible directory containing the necessary files.
Example
Sample files can be found in the frtb-starter/src/test/resources/data folder.
note
These files can’t be found in the WAR generated by the build.
csvSource.dataset=data
tip
To get started with deployment (e.g. if you are not running the
application directly from the IDE) you can easily copy/paste the whole
sample data folder (from source zip) into somewhere accessible by your
deployed runtime, and change the configuration in application.properties
accordingly to point to that data.
Bookmarks
If you want to replace the bookmarks you have persisted in your content server, you can override all the content of the content server with content from a JSON file when the Atoti Server instance starts up.
To do this, in application.properties, set the value of the contentServer.factory-reset
property to true
:
contentServer.factory-reset=true
The data loaded into the content server is imported from a json file. The json file loaded by default is frtb-content-server.json. It is specified in application.properties as below:
contentServer.factory-reset.filename=frtb-content-server.json
Atoti FRTB provides a directory for the bookmarks which can be loaded using the contentServer.factory-reset=folder
and contentServer.factory-reset.folder-name=
dir-name.
See the bookmarks.zip in the distribution files for this release.
Atoti UI
You will need to specify in the Atoti UI configuration file where the Atoti Server project is running.
note
The end-user’s browser will be connecting to the URL you specify here, so you should specify the exact host name as opposed to localhost.
The standalone application contains an frtb_env.js
file which will
need to be updated with the correct server URL:
const FRTB_port = 8080
const FRTB_host = window.location.hostname
const FRTB_path = "/frtb-starter"
window.env = {
...
csServers: [
{
name: 'Bookmarks',
url: 'http://' + FRTB_host + ':' + FRTB_port + FRTB_path,
}
],
apServers: [
{
name: 'FRTB',
url: 'http://' + FRTB_host + ':' + FRTB_port + FRTB_path,
csServerName: 'Bookmarks',
}
],
...
}
ActiveMonitor (optional)
If you choose to deploy ActiveMonitor, you will need to modify the following properties files:
-
activepivot.remote.properties (frtb-starter)
# The URL to use to connect to the ActiveMonitor sentinel.remote.url=http://localhost:8081/frtb-activemonitor # The URL to use to connect to the ActiveMonitor repository repository.remote.url=http://localhost:8081/frtb-activemonitor # The URL of the current Atoti Server activepivot.snl.url=http://localhost:8080/frtb-starter
-
env.js (frtb-activeui)
# The URL to use to connect to the ActiveMonitor activeMonitorServerUrl: 'http://localhost:8081/frtb-activemonitor',
DoctorPivot Configuration(optional)
- No changes required
Data load controller
For configuration details, see FRTB-specific configuration.