Salesforce

How to allow more than one AdminServer to run at the same time pre 10.1B?

« Go Back

Information

 
TitleHow to allow more than one AdminServer to run at the same time pre 10.1B?
URL Name18919
Article Number000120390
EnvironmentProduct: Progress
Version: 9.x
Product: OpenEdge
Version: 10.0x, 10.1A
OS: All supported platforms
Question/Problem Description
How to resolve port conflicts to allow more than one AdminServer to run at the same time before OpenEdge 10.1B?
How to configure the Port Numbers used when the AdminServer is installed on UNIX?
How to change the Port Numbers used when AdminService runs on Windows?

How to configure AdminServer ports without the AdminServerPlugins.properties configuration file
How to configure a non-default ports for the AdminServer to listen and communicate on
How to run the AdminServer for multiple Progress on the same machine without default port conflicts
Configuration considerations when AdminServers from different Progress versions run on the same machine
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
For OpenEdge 10.1B and later, the preferred method is to use the AdminServerPlugins.properties file. Apart from the AdminServer Listening port and Communication adminport , there are a number of additional unique ports to be considered to use  the OpenEdge Console (OEM/OEE) when the AdminServer is bound to the fathom.plugin. 

This Article outlines alternate methods to configure AdminServer ports 

  • In versions before OpenEdge 10.1B
  • Without the AdminServerPlugins.properties

Running multiple AdminServers

When explicit ports are not configured, the AdminServer will revert to using default Listening and Communication ports.

The AdminServer will fail to startup when there is a conflict on either the listening port and/or Communication adminport used. When the port is already in use, another server socket cannot be created using this port. 

To run multiple AdminServers, ensure each instance runs on a unique port and adminport. 

  • The AdminServer runs on port 20931 as the default Listening port for command line utilities (eg: DBMAN)  
  • The default Communication adminport for different Progress versions are documented in Article:

For example: When two AdminServers are configured to run on two different listening ports (-port 20931, and -port 20932) but a distinct -adminport has not been specified. Both will try to open the default adminport for that Progress version (eg: 7832), so one of them will fail to start.  

Another reason is simply that whatever ports are used, one or more is in use by another process, even another Progress server. For example 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.

Multiple Admin Servers started with PROADSV

1.  Modify the script used to start the application environment by adding the unique -port and -adminport values to the proadsv command

Example: When there is a conflict with the default listening port 20931
 
Progress 9.1E AdminServer:
$  proadsv -start -port 20932 -adminport 7833
Progress 10 AdminServer:
$  proadsv -start -port 21932 -adminport 8833

2.  Modify the PROADSV script  itself

For example: To set the AdminServer to start on port 20932 with an adminport of 8833 append these parameters to:
  • The last line of the $DLC/bin/proadsv script on UNIX.
exec $JVMSTRT -w $WRKDIR -o stderr  -m silent $JREHOME/bin/$JVMEXE
-classpath $CLASSPATH $JVMARGS -Djava.security.policy=$JAVAPOLICY
-DInstall.Dir=$DLC -DWork.Dir=$WRKDIR -Djvmstart.debug=$JVMSTRT_DBGOPT  
-Djava.command=$JVMEXE -Dadmsrv.jvm=$JREHOME/bin/$JVMEXE  
-Djava.jvmargs="$JVMARGS" $ADMSRVRCLASS -port 20932 -adminport 8833 $@
  • The last line of proadsv.bat on Windows
:START
"%JVMSTRT%" -w "%WRKDIR%" -o stderr -s -m silent
-a "%ADMSRVRPROP%"::%ADMSRVRGRP% "%JVM%" -Dadmsrv.jvm="%JVM%"
-DInstall.Dir="%DLC%" -DWork.Dir="%WRK%" -Djvmstart.debug=0
%ADMSRVRCLASS% -port 20932 -adminport 8833 %PARMS%

WINDOWS:

On Windows, the AdminService can be used to change the port that the AdminServer java process

1) Stop the AdminService(s): Control Panel / Services. 
If manually started, stop the AdminServer from a PROENV shell: proadsv -stop
 
2) Run regedit.  

It is strongly recommended to backup the registry before making changes. 
Append the -port -adminport arguments to the end of the startup and shutdown strings before: "[start | stop] -service"..

32-bit Progress on 32-bit Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\PSC\AdminService\(version_of_Progress)\StartupCmd
HKEY_LOCAL_MACHINE\SOFTWARE\PSC\AdminService\(version_of_Progress)\ShutdownCmd

32-bit Progress on 64-bit Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PSC\AdminService\(version_of_Progress)\StartupCmd
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PSC\AdminService\(version_of_Progress)\ShutdownCmd

Example:   To set the AdminServer to start on port 21932 with an adminport of 8833 append these parameters to the end of the string before "-start -service".
 
"C:\bin\jvmstart" -o eventmgr -w @{WorkPath} @{JAVA\JREHOME}\bin\jre
-classpath @{JAVA\JRECP};@{JAVA\PROGRESSCP} @{JAVA\JVMARGS} 
-DInstall.Dir=@{Startup\DLC} -DWork.Dir=@{WorkPath} com.progress.chimera.adminserver.AdminServer
-port 21932 -adminport 8833 -start -service

Additional Configuration changes:

When no longer using the default listening / communication ports, the listening port that the AdminServer is now using must be explicitly specified:
  • The (retired) Progress Explorer > Properties > Advanced > Server Port Number.
  • When using the associated command-line utilities (proadsv, nsman, dbman, asbman, wtbman) remember to use the appropriate -port argument for the AdminServer in use
  • Alternatively add the -port argument and port number to the ubutil.bat file:
:endparm
set PARMS=%PARMS% -port 21932

Example: Include the configured Listening port when running AdminServer command line utilities like proadsv; wtbman; asbman; dbman; nsman.
 
$ proadsv -start -port 21932 -adminport 8833 
$ proadsv -query
AdminServer not alive. (8543) # because the listening port was not used
$ proadsv -query -port 21932
AdminServer is alive. (8545).
$ dbman -query -all
ERROR: Unable to locate database plugin - insure AdminServer is running and is properly configured (DBMan023)
$ dbman -query -all -port 21932
 
Workaround
Notes

 
Keyword Phrase
Last Modified Date11/20/2020 7:33 AM

Powered by