The SM_ElementManager class manages the life cycle of SM_SystemElement objects. It is a singleton class (the instance is SM_ElementManager::SM-ElementManager) and has attributes for configuring various aspects of the life cycle management. The key attributes for SM_ElementManager are listed in Key attributes for SM_ElementManager .

Table 1. Key attributes for SM_ElementManager

Attribute

Value

Description

FDLimit

Unsigned long integer

This attribute is read-only.

Maximum number of file descriptors (socket numbers) that this application is allowed to use for client connections at any one time.

For an application on a Solaris- or Linux-based host, the file-descriptor limit is imposed on the application by the OS as long as that limit is 1024 or less. If that limit is more than 1024, the foundation startup code sets the limit to 1024.

FDWarningHeadroom

Unsigned integer

Default: 100

An integer in the following equation that determines when the number of file descriptors for this application increases to an unacceptable level:

Number of file descriptors  >  FDLimit – FDWarningHeadroom

For example, if FDLimit = 1024 and FDWarningHeadroom = 100, the number of file descriptors increases to an unacceptable level when that number is greater than 924.

ReapInterval

Unsigned long integer

Default: 60 seconds

Interval, in seconds, between successive expiry scans of terminated client connections for this application.

This attribute works in conjunction with two other attributes, ClientRetainTime and AbnormalClientRetainTime, to determine when an expiry scan deletes (reaps) the client objects and data for a terminated connection:

  • For any normally terminated connection, the expiry scan deletes the associated client objects and data when the time between the connection’s termination timestamp and the current time exceeds the ClientRetainTime.

  • For any abnormally terminated connection, the expiry scan deletes the associated client objects and data when the time between the connection’s termination timestamp and the current time exceeds the AbnormalClientRetainTime.

The effective retain time for a normally terminated connectIon is 1/2 the ReapInterval plus the ClientRetainTime.

The effective retain time for an abnormally terminated connectIon is 1/2 the ReapInterval plus the AbnormalClientRetainTime.

ClientRetainTime

Unsigned long integer

Default: 60 seconds

The least amount of time, in seconds, between when a normally terminated connection ends and when the client objects and data that are associated with that connection are deleted from the repository.

AbnormalClientRetainTime

Unsigned long integer

Default: 900 seconds(15 minutes)

The least amount of time, in seconds, between when an abnormally terminated connection ends and when the client objects and data that are associated with that connection are deleted from the repository.

RequestLogSize

Unsigned long integer

Default: 25

Size of the request log for client connections for this application. By default, the 25 most recent requests and their responses are recorded.

Setting RequestLogSize to 0 disables the collection of request information for client connections.

Like the rest of the client data, the request information persists for a client connection until the associated SM_Client and its threads and queues are deleted.

LogClients

Boolean

Default: TRUE

TRUE indicates that this application will log the client connects and disconnects in its log file.