Edit Application

Click on one of the applications in the list to edit the configuration for that application.

On the Application configuration page, information about the deploy status is displayed and it is possible to configure the application. This includes:

  • Application properties

  • Bindings

  • Connection dispatchers

  • Context roots

Application Properties

Click on the Edit Properties link to view a list of application-defined properties (if any).

Column Description
Property The property title if defined (the property name otherwise). Clicking on this link lets you edit the property in different contexts.
Value The grid-wide value of the property if defined. Clicking this link lets you edit the property value in the global context. Note that if the property has previously been overridden in different contexts, the result of clicking this link is the same as clicking the property link described above.
Unit The unit of the property, for example, seconds or MB.
Type The type of the property, for example, Integer or String
Description A description of the property.
Name The property name (which may be different from the title shown in the Property column).

Click on one of the listed application properties to edit its runtime value.

Property Contexts

If you have chosen to edit a property in different contexts by clicking the on the property link, you will be shown a matrix. The matrix displays the values of this property in the different contexts and lets you override the values.

By default, contexts that are not used will be hidden. This is done in an attempt to make the configuration of properties less complicated. If no overrides have been done in other contexts, only the global context and the host contexts are shown. If possible, it is recommended to use only those contexts. However, there are situations when you need to use the other contexts.

If you need to use a context that is hidden, you need to change the display complexity at the top of the page in order to see and edit them.

Example:

Consider an application that has a property DBCon that holds the connection string to a database. Typically we would give this property a value in the global context. That means that all application instances on any host will get this value when reading this property. However, if one of the hosts is running on a different operating system and is using a different database driver, we may need a different connection string on that host but on that host only. What we do in that case is to also override the DBCon property in the context of that host. Thus, the property will have the global value on all hosts except this host, but on this host it will have the new overridden value.

The contexts have different priorities, so a property may be defined in several contexts, and the one with the highest priority will be the actual runtime value depending on how and where the application is running.

The matrix displays the different values and how they are resolved. So by overriding in one context it is easy to see what other contexts are overridden (because of lower priority) and what contexts inherit this value.

To help the user to understand how different contexts override other contexts, the matrix is displayed using overlapping boxes. Each context box encompasses all other contexts that it may influence. At the same time, it is easy to see if other context boxes overlap this box and thus have the potential of overriding the first context box.

The contexts are (lowest priority first):

Global (Application & Any Host): This is the base context (lowest priority). Use this context to give an application property a value regardless of other contexts (for example, host, binding). It is good practice to define a value even if you intend to override it in one of the other contexts. In the matrix, the global value is shown in the first row (Application) and first column (Any Host).

Node Type (Node Type & Any Host): Use this context to override a property for all application instances that are running in a node of this node type regardless of host or binding. In the matrix, this value is shown in the row corresponding to the node type and the first column (Any Host).

Specific Host (Application Global & Specific Host): Use this context to override a property on a specific host. Any application instance started on that host will use this value unless overridden by one of the other contexts with higher priority. In the matrix, this value is shown in the first row (Application) and the column corresponding to the specific host.

Binding (Binding & Any Host): Use this context to override a property in the context of a binding. Any application instance started with this binding will use this value unless overridden by a context with higher priority. In the matrix, this value is shown in the row corresponding to the binding and the first column (Any Host).

Node Type & Specific Host: Use this context to override a property in the context of a node type on a specific host. In the matrix, this value is shown in the row corresponding to the node type and the column corresponding to the host.

Binding & Specific Host: This is the context with the highest priority. It overrides a property value for application instances started with a particular binding on a particular host.

At runtime, resolving a property value will be done in the following fashion:

Each application instance is started using exactly one binding on exactly one host, so when resolving a property, the system will first look for a property override for exactly that binding on exactly that host (Binding & Specific Host context). If it finds one, the system has found the applicable runtime value and is finished. If not, the system will continue to look for a property override in contexts with lower priority until it finds a context that has defined an override. The last context to look in is the global context.

If a property has been overridden in a given context, a small black bullet will be displayed in front of the value. To remove an override, edit the value in the context that you want to remove, and click Remove.

Edit Bindings to Application Defined Node Types

The application page displays the bindings that are defined.

Column Description
Name

Binding name.

Note: 

Only bindings delivered with Landmark can contain the "@" character. Do not use this character if creating a new binding.

Node Type The node type that the binding is using when starting a node. The node type is one of the node types that this application defines.
Startable Indicates if the binding targets a node type that is manually startable from the management UI. If it is not manually startable, the binding is only startable programmatically.
Min The minimum number of nodes (started with this binding) that are allowed. If the number of running nodes are below this value, the system will automatically start new nodes in order to meet this minimum.
Max The maximum number of nodes allowed (started with this binding).
Initial How many nodes to start at system and application start (Min <= Initial <= Max). When you start an application, this value will be considered.
Hosts A set of hosts that this binding may use. This binding may only be used to start nodes on this set of hosts.
Remove button Removes this binding.

Add a new binding by clicking Add Binding at the top of the page. Give the binding a name, select a node type, give relevant values to the Min, Max and Initial field and select the hosts to use.

Connection Dispatchers

The application page also displays configured connection dispatchers (if any).

Column Description
Name The name of the connection dispatcher.
Router The router to use when opening the port.
Port The port to use.
Remove button Removes this connection dispatcher.

Add a new connection dispatcher by clicking Connection Dispatcher at the top of the page.

Context Roots

If the application contains a web application or it exposes web services, those require that context roots are defined. In the Context Root Mappings panel, it is possible to manage the context roots. See the installation guide for each application for details.

Column Description
Module The grid application module that is exposing the web application or web server.
Type Indicates if the context root is for a web application or web services.
Web Application The name of the web application if any.
Context Root The name of the context root.
Remove button Removes this context root.