A-Stack Configuration

A-Stack reads all the configurations from sff.local.config.xml file that is part of the installation folder. The configuration format is:

Default Engine Configuration Setting
<SffLocalConfig>
    <!-- User Defined Configurations -->
    <!-- Configurations recognized by A-Stack -->
</SffLocalConfig>


User Defined Configurations

Users can add their own configuration data into the sff.local.config.xml file. In order to add the users own configuration data you need to place the configuration elements with the SffLocalConfig element. For example to add a user configuration element - Project.Repository.Location we do it as shown below.

Adding User-defined Configuration Elements
<SffLocalConfig>
    <!-- User Defined Configurations -->
    <Project.Repository.Location>rel-104/resources</Project.Repository.Location>
</SffLocalConfig>

Once the user-defined configuration data is added to the sff.local.config.xml file, it can be access by placing the configuration element inside the template processing macro as shown below.

Accessing User-defined Configuration Elements
#
Query:
	SetResponseData:
		Key: Message.Value.Configs
		Value: [:Project.Repository.Location:]
User-defined Configuration Result
<Configs>rel-104/resources</Configs>

System Configurations

Apart from the user-defined configurations, we can set the values of system recognized configurations as well. Table below gives the list of the system recognized configurations.

ConfigurationDescription

sff.server.port

Ports on which the A-Stack must be started. Port number are comma separated list of numbers. The configuration parameter value can be

read dynamically using Template Processing Macro - [:sff.server.port:] within your modeling environment.

  1. Specifying the port numbers is optional. If not server ports are specified; A-Stack starts to connect on port: 80, 443 and 8080. All three ports are tried and started if available.
  2. If you specify port 0; The engine is started on a dynamic port. The value of the port on which the server is started is not made available to users.
  3. You can also start of with disabling ports by specifying value none. For example: <sff.server.port>none</sff.server.port>. 

Starting off with ports disabled is important when there are multiple subscribers / clients that try to connect to server. In this case the server will throw facetId not found especially when the instances are still getting deployed. As a practice you can enable the port towards the end by deploy a custom Message Facet that enables the desired ports. For example deploy this FacetInstance towards the end of your auto deploy in <sff.auto.deploy>...;Enable-Ports/Deploy</sff.auto.deploy>

User-defined Configuration Result
#
NewFacetInstance(fid: "echo", type: "sffMessageFacet"):
 	OnActivate:
		Process:
			Server(Port: 8080): #Enable Port 8080 for business...

sff.local.deploy

List of projects or packages that must be deployed automatically when the A-Stack is started.

sff.log.broadcast.all

Endpoint URL on which the all the log messages can be broadcast.

sff.log.broadcast.message

Types of message output when doing a broadcast of messages. Default is XML. Possible values are JSON or XML.

ConfigurationAdmin

Setting the configuration administration of the log broad cast. Possible values are:

service.pid="sff.log" sff.log="loud"