org.sandev.basics.structs
Class ConfigurationStruct

java.lang.Object
  extended byorg.sandev.basics.structs.ConfigurationStruct
Direct Known Subclasses:
Configuration

public class ConfigurationStruct
extends java.lang.Object

A description of an application deployment configuration. The configuration contains:

Configuration information is saved as config.xml in the deployment env directory. This file is part of the application source code and modified using the config editor. The Configuration information is automatically verified at application startup.

Configuration information is not declared as persistent, even though the serialized form stored with the deployment drives runtime initialization. The update form of a configuration message is used for runtime dynamic configuration management if implemented.

This message can be transmitted directly outside of a verb form.
This message has the following verb forms: update

Field Summary
protected  java.lang.String description
          A description of this configuration.
protected  SandAttrVal[] globalParams
          Ad hoc global settings for the application, or its supporting technology, which are outside the scope of any specific node instance.
protected  SandPersistMessage[] initialData
          The initial data which is required for this configuration to be brought up running.
protected  java.lang.String loggerClass
          The fully qualified name of the class which will be used for logging functions in this configuration.
protected  java.lang.String messagerClass
          The fully qualified name of the class which will be used for messaging functions in this configuration.
protected  java.lang.String name
          A name uniquely identifying this configuration among other known configurations.
protected  NodeInstance[] nodes
          The node instances which make up this configuration.
protected  ServerDeclarationStruct[] servers
          The servers which make up this configuration.
 
Constructor Summary
ConfigurationStruct()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

A name uniquely identifying this configuration among other known configurations. This is used for identification purposes.

declared default value: "default"
the values for this field are unique.
declared invalid value: "SANDEV_INVALID_NAME"
Length in characters, normal: 30 max: 128

description

protected java.lang.String description

A description of this configuration. Free text for additional helpful information. Optional.

declared default value: ""
declared invalid value: "SANDEV_INVALID_DESCRIPTION"
Length in characters, normal: 255 max: 4096

loggerClass

protected java.lang.String loggerClass

The fully qualified name of the class which will be used for logging functions in this configuration. The specified class must implement the Logger interface.

declared default value: "org.sandev.tools.util.SandLogger"
declared invalid value: "SANDEV_INVALID_LOGGER_CLASS"
Length in characters, normal: 60 max: 80

messagerClass

protected java.lang.String messagerClass

The fully qualified name of the class which will be used for messaging functions in this configuration. The specified class must implement the Messager interface.

declared default value: "org.sandev.tools.util.DirectCallMessager"
declared invalid value: "SANDEV_INVALID_MESSAGER_CLASS"
Length in characters, normal: 60 max: 80

globalParams

protected SandAttrVal[] globalParams
Ad hoc global settings for the application, or its supporting technology, which are outside the scope of any specific node instance.

values for this field are persisted in their string form.
Length in characters, normal: 255 max: 8192

initialData

protected SandPersistMessage[] initialData
The initial data which is required for this configuration to be brought up running.

By convention, any instance with a positive revisionNumber must exist as defined (isEquivalent returns true). If the existing instance does not match, then it will be reverted to its original values on startup. For all other instances (revisionNumber <= 0), an instance will be created if not found, but any found instance does not have to match the original values. This allows a configuration to distinguish instances which must exist as-is (positive revision number) from instances which simply need to exist with specific uniqueID values (negative or zero revisionNumber).


servers

protected ServerDeclarationStruct[] servers

The servers which make up this configuration. When speaking with systems folks, servers are often referred to as nodes. Given that these systems can be thought of as servers (they are at least serving up message responses), most confusion can be avoided by referring to these as servers, and the SAND nodes as "sandnodes".


nodes

protected NodeInstance[] nodes

The node instances which make up this configuration. These are assigned to servers based on the server name.

Constructor Detail

ConfigurationStruct

public ConfigurationStruct()