limits.properties

The limits.properties file contains properties used throughout the entire application

Location: limits-starter\src\main\resources\properties.

Properties

Section: data loading

Property Value Description
default.csvSource.parser.threads 16
input.data.root.dir.path ./src/test/resources/data-samples Directory path to the data files
incident.output.data.dir.path ${input.data.root.dir.path}/data Directory path to the alerts data files
csvSource.subdirectory.dataset /data Directory containing the CSV files
csvSource.subdirectory.dataset.whatif /whatif Directory containing the What-If CSV files
csvSource.subdirectory.dataset.stage /stage Directory containing the Stage CSV files
csvSource.polling.delay 10000 Time (in milliseconds) a Real-Time listener waits between querying file structure for updates
initial-load.business-dates 2018-09-28 Cob date data folder to load at runtime
default.multiple.regulation.separator , Multiple regulation or file separator
scope.force-unambiguous-level-paths false Boolean flag to enable if we want to force Scopes to be Unambiguous on Multi-Level Hierarchies. Please see scope.force-unambiguous-level-paths for more.
scope.autofill-unambiguous-level-paths true Boolean flag to enable if we want to autofill Scopes to its Unambiguous Multi-Level values. Please see scope.autofill-unambiguous-level-paths for more.
scope.isUsingExplicitMatching true Flag to enable explicit scope matching. If true then a Limit will only be visible in the business cube at the exact location the Limit’s Scope is defined on and no lower. This does not affect the location evaluations and breaches are checked at.

Section: Atoti Limits connecting to other solution

The following properties can be set in the limits.properties file. The main way of setting these properties is connecting Atoti Limits to a server, such as FRTB, using the auto-configuration.

Before connecting to a server or configuring these properties, they will be null during the execution of Atoti Limits until a connection is made. In addition, if the maps already contain entries at startup, those values will be used by Atoti Limits. If the content server properties are set, they won’t be changed when connecting to a new server.

Property Value Description
ap.url.map {‘MRA’: ‘http://localhost:10010/risk-activepivot/activeviam/pivot/rest/v8/cube’, ‘FRTB’: ‘http://localhost:8080/frtb-starter/activeviam/pivot/rest/v8/cube’} Map of the Solution name to http url
ap.version.map Map of the Solution name to its server version: { < server name >: < version >, … }
Example: { 'FRTB': '6.0.0' }

note

Auto-configured, null by default.

ap.configuration.kpi.path.map {‘FRTB’: ‘configuration/kpis’} Atoti Server configuration kpi path to get the kpi permissions which are used during startup to delete the stale kpis. The path might be different from AP release to release. Different servers might be run on the different AP versions.
ap.auth.map {‘MRA’: ‘YWRtaW46YWRtaW4=’, ‘FRTB’: ‘YWRtaW46YWRtaW4='} Map of the Solution name to authentication token
ap.asOfDate.dim.map {‘MRA’: ‘AsOfDate@Date@Dates’, ‘FRTB’: ‘AsOfDate@Date@Dates’} Map of the Solution name to AsOfDate cube location
content.server.url http://localhost:8080/frtb-starter/activeviam/content/rest/v7 URL of the content server to be used with Limits (and Limit’s UI). It is usually exposed at the server’s /content endpoint.
content.server.name < server name > e.g. FRTB The name of the content server to which Limits is connecting.
content.server.auth YWRtaW46YWRtaW4= The Base64 Encoded Authentication to use to authenticate requests to the Content Server. The Authentication should be for admin access and the passcode should be in the format USER_NAME:PASSWORD . For example, we would generate the Authentication for a user “admin” with password “admin” as the string “admin:admin” which would get encoded to “YWRtaW46YW1kaW4=”.
level-path.url {‘FRTB’: ‘http://localhost:8080/frtb-starter/services/rest/v1/levelPath/'} Map of the Solution name to Level Path REST endpoint URL

Section: Content server

Property Value Description
contentServer.security.calculatedMemberRole ROLE_USER User entitlement capable of creating calculated members in the content server
contentServer.security.kpiRole ROLE_USER User entitlement capable of creating KPIs in the content server
contentServer.security.cache.entitlementsTTL 3600 The time to live (in seconds) of the entitlement cache
contentServer.remote.api.uri http://localhost:9093/content URI of the content server used by the RemoteContentServiceConfig
contentServer.prefix limits Content server prefix
contentServer.factory-reset false DEVELOPMENT ONLY: Resets the content server’s contents to those provided in the Solution’s release
contentServer.factory-reset.filename limits-content-server.json Filename of the release version of the content server contents
contentServer.factory-reset.folder-name limits-content-server The folder containing the release version of the content server contents.
contentServer.bookmarks.default-owners ROLE_ADMIN The default owners for any bookmark
contentServer.bookmarks.default-readers ROLE_USER The default readers for any bookmark

Section: Cloud properties

note

Values for Google properties are empty in properties file because they come from a specific JSON file you need to import.

Property Value Description
aws.bucket limits Name of AWS S3 bucket
aws.root_directory data-samples Name of the data folder within the AWS S3 bucket
aws.region us-east-1 AWS region
azure.container limits Name of the Azure container
azure.root_directory data-samples Name of the root data folder within the Azure container
google.container Name of the Google container
google.root_directory Name of the root data folder within the GCP container
cloud.fetch.thread 12 Azure is up to 60 MiB/s per block blob and the same per share. Active Cloud API bypasses it with several connections. This is the parameter to control the number of connections from APS to Azure storage.

Section: Data Extraction Engine (DEE)

Property Value Description
data.extraction.service.base.dir.path ./src/test/resources/extractionOutput Path to the folder in which the files will be generated for the extractions
data.extraction.service.http.base.url http://localhost:3090 URL mount point to access the folder as a Web File Server for the extractions
data.extraction.service.with.user.folders false Include the user name in the folder path generated. Ex: /Output/User1/extraction.csv
enhanced.drillthrough.base.dir.path ./src/main/resources/extractionOutput Path to the folder in which the files will be generated for the extractions
enhanced.drillthrough.http.base.url http://localhost:3090 URL mount point to access the folder as a Web File Server for the extractions

AlertTaskManager

Property Value Description
task-scheduler-thread-pool-size 4 Thread pool size for task scheduler
sample-rate-cron 0 */5 * * * * Cron expression for Intraday Alert task’s cron job. Default is to run the evaluation every 5 minutes. An example cron expression tool: click here. Note that cron expressions are evaluated differently in Jav compared to Linux. See this explanation by Baeldung. We require the Spring cron syntax i.e. 6 space-separated fields.
incident.evaluation.parallel.tasks Half the number of available cores on the machine Number of threads to use when evaluating limits on-demand.

Section: Other

Property Value Description
spring.profiles.active local,local-content List of available Spring profiles
limits.datastore.url http://localhost:3090/pivot/rest/v5/datastore The URL of the Limits server’s Datastore REST service
limits.rest.url http://localhost:3090/limits/rest/v2/ The url of the Limit’s REST services
limits.auth YWRtaW46YWRtaW4= Authentication token for Limits
fx-rates.common-currency USD The base currency when performing Foreign Exchange calculations
default.parameter.set ISDA Default parameter set
discovery-manager.polling-delay 30000 milliseconds Milliseconds that the connected cube description is valid for before needing to be refreshed. If the cube is expected to change frequently then this should be decreased.
canTheApproverBeTheSameAsTheCreator false When enabled (true), the creator of a limit can also approve it. Disabled by default.
limit.evaluation.query.timeout the value of IMdxContext.IQueriesResultLimit on the connected Atoti server The MDX query timeout in seconds when triggering the Limit evaluation endpoint