Skip to main content

Config.ECP

Class Config.ECP Extends (%Persistent, Config.CommonSingleMethods, Config.CommonProperties, %SYSTEM.Help) [ Final, Inheritance = right, System = 4 ]

This class allows you to modify and view the [ECP] section of the CPF file through programatic APIs. While properties are usually modified through the System Management portal, there may be some occasion where modifying them through the API's is best for your system. In all the Config methods, if you do not specify the CPFFile parameter, the currently active CPF file is used. If you wish to modify a CPF file which is not the currently active one, then specify the CPFFile you wish to modify in the method call.
The Flags parameter does not normally need to be specified; the defaults are usually sufficient for most cases.
You can use either the provided API's (Get/Modify) to modify the properties by passing in the correct parameters, or use Object syntax to open and directly manipulate the config objects.

EXAMPLE:

; Use class methods to modify properties %SYS>s Status=##Class(Config.ECP).Get(.Properties) %SYS>i 'Status w !,"Error="$SYSTEM.Status.GetErrorText(Status) %SYS>zw Properties Properties("ClientReconnectDuration")=1200 Properties("ClientReconnectInterval")=5 Properties("ServerTroubleDuration")=60 %SYS>s Properties("ServerTroubleDuration")=90 %SYS>s Status=##Class(Config.ECP).Modify(.Properties) %SYS>i 'Status w !,"Error="$SYSTEM.Status.GetErrorText(Status) ; Now use Objects to modify properties %SYS>s Obj=##Class(Config.ECP).Open() %SYS>w Obj.ServerTroubleDuration 90 %SYS>s Obj.ServerTroubleDuration=120 %SYS>s Status=Obj.%Save() %SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)

Parameters

EMSSERVICE

Parameter EMSSERVICE [ Internal ] = "Namespace";

Properties

ClientReconnectDuration

Property ClientReconnectDuration As %Integer(MAXVAL = 65535, MINVAL = 10) [ InitialExpression = 1200 ];

How long a client should keep trying to re-establish a connection before giving up or declaring connection failed (in seconds).

ClientReconnectInterval

Property ClientReconnectInterval As %Integer(MAXVAL = 60, MINVAL = 1) [ InitialExpression = 5 ];

When a server is not available, how long to wait between each reconnection attempt (in seconds).

ServerTroubleDuration

Property ServerTroubleDuration As %Integer(MAXVAL = 65535, MINVAL = 20) [ InitialExpression = 60 ];

Duration a connection will stay in troubled state (in seconds). Once this period of time has elapsed, the server will declare the connection dead and presume recovery is not possible.

Methods

Load

ClassMethod Load(Obj As %ObjectHandle = "", Flags As %Integer = 1) As %Status [ Internal ]

Load the parameters into memory and activate.
Parameters:
Obj = Handle to the object which caused the load. If "", then load everything, only called from STU.
Flags = Type of modification.
0 - Modify
1 - Create/Insert