It is possible to have several versions of the AdminServer running on the same server, but some care needs to be taken in order to have them all working independently.
Method 1:
One possibility is to always have only one instance of AdminServer/AdminService running at any time, then shut it down before starting the AdminService of the other version of Progress.
Method 2:
The other possibility is to uniquely define the ports on which the AdminServer is listening (-port) and communicating (-adminport). While any free port can be configured for the -port and
-adminport, it is useful to know the default ports that are used.
The Port referenced by the
-port parameter, is the main
AdminServer Listening Port, where all start, stop and query requests are sent; the default AdminServer listening port is
20931 across all Progress OpenEdge versions.
Example:
$ proapsv -query -port <portnumber>
$ fathom -query -port <portnumber>
$ dbman -query -all -port <portnumber>
The Port referenced by the
-adminport parameter, is the AdminServer Communication Port between the ServerGroup and the AdminServer used by databases to communicate with the AdminServer. The default adminports for different Progress versions are documented in Article
What are the default ports used by the AdminServer? Pre OpenEdge 10.1B: To change the -adminport (and -port as needed) that the AdminServer service uses on Windows1. Open Control Panel / Services. Ensure the related AdminServer service(s) are stopped first:
Run: %SystemRoot%\system32\services.msc /s
2. Add -adminport -port arguments to the Registry
Run: regedit
Add the -adminport -port arguments (with the port number) to the end of the string of the appropriate version startup and shutdown entries in the Registry.
32-bit Progress/OpenEdge on 32-bit Windows OR 64-bit Progress/OpenEdge on 64-bit Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\PSC\AdminService\(version of Progress | OpenEdge)\StartupCmd
HKEY_LOCAL_MACHINE\SOFTWARE\PSC\AdminService\(version of Progress | OpenEdge)\ShutdownCmd
32-bit Progress/OpenEdge on 64-bit Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PSC\AdminService\(version of Progress | OpenEdge)\StartupCmd
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PSC\AdminService\(version of Progress | OpenEdge)\ShutdownCmd
Example: The '
edit string' in the Registry would have appended:
"C:\dlc\bin\jvmstart" -o eventmgr -w @{WorkPath} @{JAVA\JREHOME}\bin\jre -classpath @{JAVA\JRECP};@{JAVA\PROGRESSCP} -DInstall.Dir=@{Startup\DLC} -DWork.Dir=@{WorkPath} com.progress.chimera.adminserver.AdminServer -adminport 7834 -port 20932
OpenEdge 10.1B and later: To change the -adminport (and -port as needed) that the AdminServer service uses on Windows
Since the advent of the unified %DLC%\properties\AdminServer.Plugins.properties in OpenEdge 10.1B, the -port and -adminport can be added to this file instead of the registry. This is the preferred and recommended method from this version upward and can also be used in UNIX environments. Apart from the Listening and Communication ports, additional unique ports need to be considered for the OpenEdge Console (OEM/OEE). Refer to Article
How To Configure Multiple Versions of AdminServer To Be Run Concurrently since OpenEdge 10.1B Considerations:
- Be careful when editing the registry manually. Do not change the other parameters in this registry key, unless instructed to do so, or the AdminServer might not start up again. The -adminport 7834 and -port 20932 entries are added to the end of the string.
- The AdminServer will fail to startup if the adminport port is in use. If this port is already in use, another server socket cannot be created using this port. For example:
When two AdminServers running on two different listening ports (-port 20931, and -port 20932) and a distinct -adminport has not been specified, they will both try to open the default adminport for that Progress version (eg: 7832), so one of them will fail to start. Another reason could be that the -port (20931, 20932) or -adminport (7835) is already in use by some other process.
- The value of -adminport is not the same port that is used for a database server (-S). These are two different ports, for different purposes.
- When using the associated command-line utilities (proadsv, nsman, dbman, asbman, wtbman) include the appropriate Listening -port argument for the AdminServer in use, this also applies to the (retired) Progress Explorer > Properties > Advanced > Server Port Number.
- If Progress Explorer is still being used, the AdminServer needs to be the same version and patch level exactly. If the 10.0B02 AdminService is started, then connect to it using Progress Explorer 10.0B02. Also, refer to Article Instances in Progress Explorer get lost when using multi Progress versions