Apama Analytics Builder for Cumulocity IoT 10.3.2 | Apama Analytics Builder for Cumulocity IoT Documentation | Using Apama Analytics Builder for Cumulocity IoT | Monitoring and Configuration | Configuration | Using Apama Analytics Builder extensions
 
Using Apama Analytics Builder extensions
Extensions allow packages of extra EPL (Apama's Event Processing Language), extra connectivity components or overriding of parts of the Apama Analytics Builder framework to be applied. Extensions are zip files or directories in the /usr/edge/properties/apama/extensions/ directory inside the Edge image.
Whether a zip file or a directory, each extension can have the following contents within it:
*priority.txt - A one-line text file containing the priority; see below.
*files/paths - Files that are copied into the correlator's project directory. These can be .mon (EPL) files, YAML configuration files, or .properties files.
*arguments/name.txt - A file that contains command-line arguments for the correlator, one per line.
Note: This requires a separate line for each argument, even if they are related. For example, to add -J -Xmx512M, this must be split across two lines because these are two separate arguments: -J and -Xmx512M.
The extensions are all read, and their priority is determined from reading priority.txt. If an extension does not have a priority.txt file within it, then the name of the extension is used as the priority. Extensions are ordered by priority, lexicographically sorted. Standard extensions include:
*config with priority 80. This contains .properties and .mon files to define ports, user names, passwords and settings such as the window size for the re-order buffer.
*default with priority 81.
All extensions are processed in ascending priority order, copying any files from the files directory into an Apama project (see also the information on how to work with projects in the main Apama documentation). Apama's engine_deploy tool is run over this project to generate an initialization list (see the main Apama documentation for more information on this tool). Thus, any EPL .mon files within an extension will be injected into the correlator, and the engine_deploy tool will determine a valid injection order. New connectivity configurations can be supplied in an extension (they must include the .settings file as present in an Apama project). These may refer to libraries or jar files as needed, using the ${PARENT_DIRECTORY} directive in the YAML configuration files.
For reference, the result of the engine_deploy step is stored at /opt/softwareag/cumulocity-apama-rules/deploy/Project_deployed/.
Note: The changes to the above directory will be lost when the correlator is restarted.
Some extensions may override files from the config extension to provide more specific behavior if required. If you need to modify such a file, you have to determine which extension has the highest priority.

Copyright © 2018-2019 | Software AG, Darmstadt, Germany and/or Software AG USA, Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors.