Configure Tomcat properties
- Last Updated: February 27, 2025
- 4 minute read
- OpenEdge
- Version 12.2
- Documentation
The appserver.properties and
catalina.properties files define properties used at startup for
the Tomcat container. Most properties begin with catalina. or
psc.. Similar to openedge.properties, these
properties may be edited directly in the file, though they are recommended (and
preferred) to be modified through use of the tcman command using the
config option (for example, tcman config
property=value).
A full table of properties has been documented against OpenEdge 12.2 and can be viewed at Configure Progress Application Server properties . This topic provides additional context on select, critical properties that we wish to bring to your attention with further clarity.
appserver.properties
- psc.as.health.enabled=false
- Definition: Enables the collection of probe data and the health calculation of the system in OpenEdge 12.
- Context: For monitoring purposes, enabling the health data
collection allows for computing a single score for system health. The
score can be valuable for cloud-based installations where misbehaving
servers need to be removed from a cluster and replaced with new
instances. Enabling this property must also coincide with enabling the
HealthCheck feature within server.xml,
which can be accomplished using
tcman feature HealthCheck=on. To disable HealthCheck, set the property and feature tofalseandoff, respectively. For more information, see Use the OpenEdge HealthScanner.
catalina.properties
- psc.as.http.port=8080
- psc.as.https.port=8443
- psc.as.ajp13.port=8009
- psc.as.shut.port=-1
- psc.as.shut.pwd=SHUTDOWN
- Definition: Ports for HTTP, HTTPS, AJP, and SHUTDOWN, respectively.
- Context: These properties are responsible if the ports of a PAS
for OpenEdge instance need to be altered after creation. Before
altering, always ensure that the ports are not in use elsewhere or
overlapping with another PAS for OpenEdge instance, which may or may not
be running. psc.as.shut.pwd and
psc.as.shut.port operate as a pair when
psc.as.shut.port is not
-1.
- psc.as.executor.maxthreads=300
- Definition: The maximum number of OS process threads used by the
server. For more information, see the Tomcat property reference for
Executor maxThreads. - Context: While configuration of a PAS for OpenEdge instance
immediately invokes thoughts on multi-session agent and ABL session
capacity, the overall throughput for Tomcat is driven by this value. If
the summation of multi-session agents and ABL sessions across all ABL
Applications in an instance exceeds this value, then it would be
necessary to increase this beyond the default value (300). Tomcat queues
client requests in the threadpool until the OpenEdge application has an
available agent connection available.Note: This property includes execution of requests for static content also, so when adjusting this value, take into consideration a sufficient buffer for data requests (ABL) plus any static content.
- Definition: The maximum number of OS process threads used by the
server. For more information, see the Tomcat property reference for
- psc.as.stuckthreadthreshold=600
- Definition: The maximum amount of time for which an active HTTP
request can be runningin the Tomcat threadpool execution state before it
is considered to be hung and a notification is reported in the server
log file. For more information, see the Tomcat property reference for
Valve threshold. - Context: The keyword here is reported. This value merely
reports an HTTP Client Session (active HTTP request) as potentially
stuck or hung, it does not take explicit action on said request.
Instead, the automatic termination of a stuck/hung ABL session should be
configured in openedge.properties using the
sessionExecutionTimeLimitproperty.- Related to this property is the
StuckSessionValvefeature, which reports suspected hung HTTP requests and applies to all deployed web applications, including the OpenEdge ones that execute the ABL language requests. This setting can result in false-positives, so interpret the information as informational and not an error.
- Related to this property is the
- Definition: The maximum amount of time for which an active HTTP
request can be runningin the Tomcat threadpool execution state before it
is considered to be hung and a notification is reported in the server
log file. For more information, see the Tomcat property reference for
- psc.as.http.compress=on
- psc.as.https.compress=on
- psc.as.compress.min=2048
- psc.as.compress.types=
text/html,text/xml,text/javascript,text/css,application/json- Definition: Enables GZIP compression for HTTP and HTTPS, sets the minimum size of messages that will be compressed (in bytes), and compresses select MIME types (using a comma-separated list), respectively.
- Context: While GZIP compression is enabled by default, the
initial threshold for minimum size and the list of MIME types may be
inadequate for squeezing the most network performance out of a PAS
instance. Setting these to a lower limit of
256or512and adding additional MIME types for more application content types will ensure most (if not all) data is compressed before sending across a network.Note: Always test after making changes to ensure OS resources are not taxed by the increased use of compression.
- psc.as.http.bindOnInit=false
- Definition:Controls the socket used by the connector is bound. By
default it is bound when the connector is initiated and unbound when the
connector is destroyed. If set to
false, the socket is bound when the connector is started and unbound when it is stopped. - Context:The
bindOnInitproperty in the catalina.properties file is by default set to false and this blocks all the HTTP and HTTPS until the server starts up completely.
- Definition:Controls the socket used by the connector is bound. By
default it is bound when the connector is initiated and unbound when the
connector is destroyed. If set to
catalinaopts.properties
The catalinaopts.properties file contains name-value Java properites
used by the Progress Application Server (PAS) for OpenEdge and web applications.
Each non-blank and non-commented line is defined as a java system property by
prefixing a -D and passed on from the command line to the JVM using
the CATALINA_OPTS environment variable.
Controlling HTTP Sessions
A common question on management of PAS for OpenEdge is in regards to HTTP sessions.
To set the expiration for idle HTTP sessions, edit the
session-timeout property in conf/web.xml to
set the maximum amount of time (in minutes) that can elapse between client requests
before the HTTP session (identified with JSESSIONID) expires and is no longer
usable. The session-timeout property is one of many Tomcat
configuration properties for control over its HTTP session pool and the session
cookie that binds a client to their private session data. See the Tomcat
documentation for the session-timeout property settings. This
setting has no effect for connections to APSV transport configured not to use HTTP
sessions (useHTTPSessions=0 in openedge.properties). To note, HTTP sessions are
created when using the form-based loginModel for APSV clients, with
useHTTPSessions=1.
|
A value of -1 means the HTTP session will never expire.
psc.as.session.timeout (if still present in
catalina.properties), is now deprecated. For further
information refer to KB #184235: "Changing 'psc.as.session.timeout' option has no
effect in PASOE".