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 to false and off, 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.
  • 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 sessionExecutionTimeLimit property.
      • Related to this property is the StuckSessionValve feature, 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.
  • 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 256 or 512 and 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 bindOnInit property 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.

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.

<session-config>
    <session-timeout>30</session-timeout>
</session-config>

A value of -1 means the HTTP session will never expire.

Note: A previous setting, 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".