Progress AppServer for OpenEdge (PAS)
There are several ways to recognize new r-code depending the version:
1. Stop and Restart the PASOE instance
2. Stop all the MSAgents using the REST API or the oejmx script
Since OpenEdge 11.7.2 or higher, start a new agent before stopping the old ones with REST API or oejmx
3. OpenEdge 12.0 introduced a PROPATH update option; updating the PROPATH will update all ABL sessions with new r-code.
- It will refresh each ABL Session as that ABL Session is scheduled to handle a request (or as a request finishes).
- If the ABL Session is bound to a client, it will not refresh the ABL Session until that ABL Session becomes unbound, thus it will not disrupt the client in its management of the ABL Session.
4. Since OpenEdge 12.1 an option to refresh agents without requiring changes to the PROPATH to update new r-code.
There are a number of ways to execute the "refreshagents" command, including via JMX. For example,
tcman jmx refreshagents -appname <application name>
Refer to the following Documentation for more information about the PAS
refreshagents feature and how to use it:
Classic AppServer (CAS)
OpenEdge 11.6 introduced the AppServer Server Refresh option where the Broker will trim and restart individual agents.
- New agents will run new code added to the PROPATH.
- Use the -refresh option with ASBMAN or WBTMAN.
It is important to note that if some of the agents are still performing a request when refresh is requested, the agent refresh will not happen until:
- Agents complete their requests, as they cannot be trimmed
- Until the agent's status is not known due to network issues.
Should there be issues with refreshing agents, consider enabling enhanced Broker logging to aid in identifying root cause:
brkrLogEntryTypes = UBroker.Basic, Ubroker.Debug, UBroker.ThreadPool
brkrLoggingLevel=4
Refer to the following Documentation for further information about the CAS agent refresh feature: