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.
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
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. |
Cluster 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.
com.sybase.jaguar.component.monitor, com.sybase.jaguar.method.monitor
Copyright © 2005. Sybase Inc. All rights reserved. |