Consultor Eletrônico



Kbase P10465: How To Configure Multiple Versions of AdminServer To Be Run Concurrently on Windows
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   2/8/2010
Status: Verified

GOAL:

How to configure multiple versions of AdminServer to be run concurrently.

GOAL:

How to setup multiple AdminServers on Windows

FACT(s) (Environment):

Progress 9.1x
OpenEdge 10.x
Windows

FIX:

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 properly.

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).

The AdminServer has two ports set aside for use which can be configured from the Windows registry. To set the two ports, use the parameters -port and -adminport.

Where:
The port referenced by -port is the main AdminServer listening port, where all queries, and start/stop requests are sent.
The port referenced by -adminport is used by databases to communicate with the AdminServer.
The default AdminServer -adminports vary by version since 9.1E01+ and 10.0B02, so essentially only the default -port 20931 needs to be changed to run one instance of each, but any available port can be used:

7835 is the default -adminport for any Progress 9 version below 9.1E, OpenEdge 10 and 10.0B SP01 (included)
7836 is the default -adminport for Progress 9.1E01+
7837 is the default -adminport for OpenEdge 10.0B02+
7838 is the default -adminport for OpenEdge 10.1A
7839 is the default -adminport for OpenEdge 10.1B
7840 is the default -adminport for OpenEdge 10.1C
7841 is the default -adminport for OpenEdge 10.2A
7842 is the default -adminport for OpenEdge 10.2B


For example:

9.1C AdminServer to use the the two default -adminport 7835 and -port 20931,
configure the 9.1D AdminServer to use -adminport 7834 and -port 20932,
9.1E01 AdminServer to use the default -adminport 7836 and -port 20933,
configure the 10.0A AdminServer to use -adminport 7832 and -port 20934,
configure the 10.0B AdminServer to use -adminport 7831 and -port 20935,
configure 10.0B02 AdminServer to use default -adminport 7837 and -port 20937,
10.1A AdminServer to use -adminport 7838 and -port 20938,
10.1B AdminServer to use -adminport 7839 and -port 20939

STEPS:

To change the -adminport (and -port as needed) that the AdminServer service uses on Windows:

1) Go to the Control Panel / Services. Make sure you stop the related AdminServer service(s) first:
Run %SystemRoot%\system32\services.msc /s

2) 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. The registry keys are:

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 your Registry would have appended:

"C:\V9\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

Method#3

Since the advent of the unified %DLC%\properties\AdminServer.Plugins.properties, the -port and -adminport which need adding (as described in Method#2) can be added to this file instead of the registry. Please refer to Solution P159835, "How To Configure Multiple Versions of AdminServer To Be Run Concurrently on Windows since 10.1B"

Considerations:

0.) 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.
1.) Notice that the -adminport 7834 and -port 20932 entries are added to the end of the string.
2.) The AdminServer will fail to startup if the adminport port is in use. If this port is in use already, another server socket cannot be created using this port. For example:
If two AdminServers running on two different listening ports (-port 20931, and -port 20932). If a separate -adminport is not specified on these, 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.
3.) The value of -adminport must NOT be the same port that is used for the database server. These are two different ports, for different purposes.
4.) The Progress Explorer and the AdminServer need to be the same version and patch level exactly. ie: If the AdminService of 10.0B02 is started, then connect to it using Progress Explorer 10.0B02.
5.) When using the assocated command-line utilities (proadsv, nsman, dbman, asbman, wtbman) remember to use the appropriate -port argument for the AdminServer in use, this also applies to the Progress Explorer > Properties > Advanced > Server Port Number.
6.) Progress Solution P45120, "Instances in Progress Explorer get lost when using multi Progress versions".