Changing the default port numbers
As we briefly mentioned earlier, the <geronimo_home>/var/config/config-substitutions.properties lets you specify a totally new set of ports as well as to define an automatic port offset for when you run multiple servers (or instances of the same server). This file also allows you to set some cluster related parameters such as clusterName, clusterNodeName, etc. Visit the Clustering configuration for more details on how to configure a web application cluster in Geronimo.
Although this section is focusing on the changing these settings by updating a properties file, there is an alternative way by using the Geronimo Administration Console which is explained in more detail under the Configuring and administering section. However, if you have port conflicts at start up time the Geronimo Administration Console will not be available, so we have to focus on configuring the config-substitutions.properties file by choosing a new PortOffset value(the default is 0).
The following example shows the config-substitutions.properties for the Tomcat distribution of Geronimo. The file provided with the Jetty distribution is nearly identical.
#Tue Dec 16 15:44:41 EST 2008 ORBPort=6882 AJPPort=8009 clusterNodeName=NODE MaxThreadPoolSize=500 ResourceBindingsNamePattern= Capacity=1000 SMTPHost=localhost StatelessPoolSize=10 StatelessTimeout=0 ResourceBindingsQuery=?\#org.apache.geronimo.naming.ResourceSource DerbyPort=1527 BMPPoolSize=10 COSNamingPort=1050 StatefulTimeout=20 webcontainer=TomcatWebContainer OpenEJBPort=4201 ORBSSLPort=2001 PortOffset=0 ORBHost=localhost JMXPort=9999 EndPointURI=http\://localhost\:8080 NamingPort=1099 DefaultWadiSweepInterval=36000 WebConnectorConTimeout=20000 BulkPassivate=100 MulticastDiscoveryPort=6142 HTTPSPort=8443 COSNamingHost=localhost MinThreadPoolSize=200 MulticastDiscoveryAddress=239.255.3.2 ReplicaCount=2 ServerHostname=0.0.0.0 ActiveMQPort=61616 ORBSSLHost=localhost SMTPPort=25 webcontainerName=tomcat6 ResourceBindingsNameInNamespace=jca\: StrictPooling=true JMXSecurePort=9998 DefaultWadiNumPartitions=24 AccessTimeout=30 HTTPPort=8080 clusterName=CLUSTER_NAME ClusterName=cluster1 ResourceBindingsFormat={groupId}/{artifactId}/{j2eeType}/{name} RemoteDeployHostname=localhost TmId=71,84,77,73,68
There are a number of reasons why you may want to use other port numbers than those provided by default. Most common startup problems are in fact associated with port conflicts, you can use monitoring utilities like Active Ports that will quickly tell you what application/process is using what port so you can customize Geronimo's ports accordingly. Of course you can always use something like netstat -nab | grep -i list to get the ports in use along with what application is holding that port.