Building and deploying the Accelerator

Building the Project

Maven Repositories

  1. From the ActiveViam share page, download the maven repository for the version of ActivePivot the Accelerator is based on (will be specified in the release notes of the Accelerator you are deploying). The zip file containing the maven repository will be called maven-repository-<version number>.zip.

  2. On the Accelerator Release Notes page, follow the directions to the Distribution Files section and download the maven repository for the accelerator (contains all dependencies required to build the accelerator that aren’t included in the ActivePivot download). A zip file containing the maven repository will be called frtb-<version number>-maven-repository.zip.

    Add these repositories to your existing maven repository.

Source

Download and unzip the source zip from the Artifactory page.

Build

  1. Once you have added all the maven repositories and extracted the source code, run mvn install on the parent pom file to build the entire project.

    This will build the ActivePivot executable JAR file (frtb-stater/target/frtb-starter-exec.jar), ActiveMonitor executable JAR file (frtb-activemonitor/target/frtb-activemonitor-2.2.0-exec.jar) .

  2. When the build is complete, you must deploy it. See Deployment.

  3. Build the standalone UI application using npm or yarn.

  4. Deploy the UI application.

Configuration

See Project configuration.

Deployment

ActivePivot and ActiveMonitor

From FRTB 2.1.0 onwards, the frtb-starter and frtb-activemonitor are Spring Boot applications that build to an executable JAR. To deploy the executable JAR files, simply use the following commands:

java -jar frtb-starter-exec.jar

and

java -jar frtb-activemonitor-2.2.0-exec.jar

Note that each executable JAR will publish the application on a different port. The default port for frtb-starter is 8080, and for frtb-activemonitor is 8081.

ActivePivot will be available at: http://<your hostname>:8080/frtb-starter/

ActiveMonitor will be available at: http://<your hostname>:8081/frtb-activemonitor/

 

You can change the port by either of the following:

  • Use the argument server.port.

    For example:

    java -jar frtb-starter-exec.jar --server.port=<port>
    
  • Externalise the properties files (see Externalising Properties Files )

ActiveUI

ActiveUI is a static website that can be deployed in any way you see fit. All the necessary files are to be found in the ./build folder of the standalone application after the project has been built.

As an example, the UI can be deployed on Tomcat using the following instructions:

  1. Build the standalone application:

    1. Use maven to build the project. You can use the command mvn clean install on the parent pom - This will build all the necessary modules including the Javascript UI
  2. Place the deployment in the webapps folder of your Tomcat

    1. Find where the webapps folder is for your Tomcat
    2. Create a folder called frtb-activeui in the Tomcat webapps folder
    3. Copy the contents from the build folder into your new folder webapps/frtb-activeui/
  3. Start the Tomcat server. You can now access the UI on the address http://<your hostname>:<port>/frtb-activeui/.

Externalising Properties Files

In the default implementation, all the necessary properties are within the project. A number of properties files have been externalised and can be overridden with an external file using JVM variables. You may wish to use this functionality if you are running the project in different environments. Below is a list of the files together with their respective variable names:

There are three options to override default properties:

  • OPTION 1: Command line arguments, e.g.<span class="measure"> --csvSource.dataset=/path/to/folder</span> . Note we use “–” to set properties with Spring Boot.

  • OPTION 2: Create a properties file (e.g. <span class="measure">application.properties</span>) and add your property overrides. Then pass it to the main using the command line argument <span class="measure">--spring.config.additional-location=/&lt;path&gt; application.properties</span>

  • OPTION 3: Change the path to the default properties file using the appropriate variable specified below:

    File Variable Name
    frtb.properties app.env.properties.file.path
    hibernate.properties hibernate.env.properties.file.path

    If any of the above variables are not set, the default properties files will be used.

    Example values for these properties files include:

    • classpath:<filename>

    • file:/home/etc/<filename>; - Unix Environment

    • file:///C:/Users/john/config/<filename> - Windows environment

       

tip

Options 1 and 2 are recommended because they only override the properties you specify and use the defaults for other ones. Additionally, they can be used to override any property.

Option 3 only works for specific properties files (i.e. the ones specified in the table above), and replaces the default file completely, meaning you need to make a copy of the default file and have all properties in your external custom file even if they have the same value as the default file.