Thread monitor properties

Description

Thread monitors provide a means to limit the execution time devoted to specified components and component methods. You can assign components and methods to a thread monitor to ensure that no more than a specified maximum number of threads will be active at any point executing the methods and components assigned to the monitor.

You can also use thread monitors without a limit on the number of threads. Doing so allows you to use the monitor trace properties to record performance data.

Thread monitors are not active for EJB inter-component calls that use the lightweight EJB container.

Usage

To create a thread monitor, create a property file in the Repository/ThreadMonitor directory of your installation. Create this directory if it does not exist. For example, to create a monitor named “MyMonitor,” create the file Repository/ThreadMonitor/MyMonitor.props.

In the properties file, add settings for the thread monitor properties listed in Table B-22. Actual property names are prefixed with “com.sybase.jaguar.threadmonitor.” For example:

com.sybase.jaguar.threadmonitor.name=MyMonitor
com.sybase.jaguar.threadmonitor.maxthreads=0
com.sybase.jaguar.threadmonitor.nested=false
com.sybase.jaguar.threadmonitor.trace=false
com.sybase.jaguar.threadmonitor.callstats=0
Table B-22: Thread monitor properties

Property

Legal values

Default value

Description

name

The entity name

N/A

Name of the thread monitor.

maxthreads

0 or positive

0

Maximum number of threads permitted to be simultaneously active under this monitor. Zero indicates no maximum, in which case trace and callstats may be useful for performance tuning.

nested

true/false

false

Enables this monitor as nested. A nested monitor can limit thread activity on a thread that is already controlled by a monitor. Nested monitors must be used with care, as they can result in deadlock among EAServer threads, requiring server restart.

trace

true/false

false

Enables tracing to indicate the maximum (peak) number of active and waiting threads in the server log. Also enables call statistics to be printed if callstats is nonzero.

callstats

0 or positive

0

Number of remote method invocations between call statistics trace entries that are logged for this monitor. A value of 0 indicates no call statistics are logged. A value of 1 indicates call statistics are recorded for every remote method call.

NoteCluster synchronization does not yet include the property files for thread monitors.

To assign a component to a thread monitory, set the component property com.sybase.jaguar.component.monitor to the name of the thread monitor.

To assign a component to a thread monitory, set the method property com.sybase.jaguar.method.monitor to the name of the thread monitor.

Regenerate and recompile the component skeleton after you assign the component or method to a monitor.

See also

com.sybase.jaguar.component.monitor, com.sybase.jaguar.method.monitor