geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shawn Jiang (JIRA)" <j...@apache.org>
Subject [jira] Commented: (GERONIMO-4442) Unable to configure IP address for many listening ports
Date Wed, 10 Dec 2008 03:44:44 GMT

    [ https://issues.apache.org/jira/browse/GERONIMO-4442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12655086#action_12655086
] 

Shawn Jiang commented on GERONIMO-4442:
---------------------------------------

I did some work on this and here are the results:


* yoko ORB related.
**  1050 127.0.0.1 CORBA Naming Service
**  2001 127.0.0.1 OpenEJB ORB Adapter  
**  6882 127.0.0.1 OpenEJB ORB Adapter
If we need to the service/server above to listen to the host we configured, the properties
passed in should incluce a "--bind" + host to initiate the ORB. I'll upload a patch on this.

* 1099           RMI Naming  
GERONIMO-4386 did some changes on this but seems it only sycronized the IP in console display
to that in config.  The actual RMI Naming is still *0.0.0.0* whatever serverHost you configured
in config files. That's because geronimo uses
following code to start the RMI Naming registry.  
{code:title="org/apache/geronimo/kernel/rmi/RMIRegistryService.java"}
public void doStart() throws Exception {
       System.setProperty("java.rmi.server.RMIClassLoaderSpi",RMIClassLoaderSpiImpl.class.getName());
       registry = LocateRegistry.createRegistry(port);
       log.debug("Started RMI Registry on port " + port);
   }
{code}
The JDK class *LocateRegistry* does not provide a API to permit a host as a parameter, It's
a limitation for now. maybe we should log this somewhere in the document. host config for
RMI Naming might need to be removed from the current config file because it does not work
at all.


* 9999 0.0.0.0 JMX Remoting Connector
Geronimo use following code to initiate the JMX server in JDK, *0.0.0.0* will be used whatever
the real host was passed in the code per http://pub.admc.com/howtos/jmx/ch09.html.  
{code:title="org/apache/geronimo/jmxremoting/JMXConnector.java"}
server = JMXConnectorServerFactory.newJMXConnectorServer(jmxServiceURL, env, mbeanServer);
{code}
It's a limitation for now. maybe we should log this somewhere in the document. host config
for JMX Remoting Connector might need to be removed from the current config file because it
does not work at all.

* ActiveMQ works only with localhost and 127.0.0.1
** 61613 0.0.0.0 ActiveMQ Transport Connector
** 61616 0.0.0.0 ActiveMQ Transport Connector
GERONIMO-4404 fixed the localhost to 0.0.0.0 problem, but  the real connector creation code
in activemq is:
{code:title="org.apache.activemq.transport.tcp.TcpTransportServer"}
  
      InetAddress addr = InetAddress.getByName(host);

       try {
           if (host.trim().equals("localhost") || addr.equals(InetAddress.getLocalHost()))
{
            //#1 start the socket with 0.0.0.0
            this.serverSocket = serverSocketFactory.createServerSocket(bind.getPort(), backlog);
           }
           else {
            //#2  start the socket with the ip spcified in addr.
            this.serverSocket = serverSocketFactory.createServerSocket(bind.getPort(), backlog,
addr);
           }
{code}
Since if you config the real IP as a host setting, addr.equals(InetAddress.getLocalHost())
will allways be true so that the #1 will be used to start the socket with 0.0.0.0. I'm not
sure if it's a bug of activemq, there's nothing we can do from geronimo side for now to fix
this.


* Any comments ?

> Unable to configure IP address for many listening ports
> -------------------------------------------------------
>
>                 Key: GERONIMO-4442
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-4442
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>    Affects Versions: 2.0.2, 2.1.3
>            Reporter: Kevan Miller
>            Priority: Critical
>             Fix For: 2.1.4, 2.2
>
>
> I tried to configure the listening IP address for our server sockets. I configured all
'host' properties in config-substitution.properties to be '127.0.0.1' and got the following
results:
>   Listening on Ports:
>     1050 127.0.0.1 CORBA Naming Service
>     1099 127.0.0.1 RMI Naming
>     1527 127.0.0.1 Derby Connector
>     2001 127.0.0.1 OpenEJB ORB Adapter
>     4201 127.0.0.1 OpenEJB Daemon
>     6882 127.0.0.1 OpenEJB ORB Adapter
>     8009 127.0.0.1 Tomcat Connector AJP AJP
>     8080 127.0.0.1 Tomcat Connector HTTP BIO HTTP
>     8443 127.0.0.1 Tomcat Connector HTTPS BIO HTTPS
>     9999 127.0.0.1 JMX Remoting Connector
>    61613 127.0.0.1 ActiveMQ Transport Connector
>    61616 127.0.0.1 ActiveMQ Transport Connector
> Unfortunately, that's not accurate. netstat reveals the following actual results:
> $ netstat -an | grep LISTEN
> tcp4       0      0  *.6882                 *.*                    LISTEN
> tcp4       0      0  *.2001                 *.*                    LISTEN
> tcp4       0      0  *.63519                *.*                    LISTEN
> tcp4       0      0  *.1050                 *.*                    LISTEN
> tcp4       0      0  127.0.0.1.4201         *.*                    LISTEN
> tcp4       0      0  127.0.0.1.61613        *.*                    LISTEN
> tcp4       0      0  127.0.0.1.61616        *.*                    LISTEN
> tcp4       0      0  127.0.0.1.1527         *.*                    LISTEN
> tcp4       0      0  127.0.0.1.8443         *.*                    LISTEN
> tcp4       0      0  127.0.0.1.8009         *.*                    LISTEN
> tcp4       0      0  127.0.0.1.8080         *.*                    LISTEN
> tcp4       0      0  *.9999                 *.*                    LISTEN
> tcp4       0      0  *.1099                 *.*                    LISTEN
> Configuring the host properties to be an actual ip address/hostname is a bit worse (not
sure what's going on with ActiveMQ):
>   Listening on Ports:
>     1050 10.0.1.196 CORBA Naming Service
>     1099 10.0.1.196 RMI Naming
>     1527 10.0.1.196 Derby Connector
>     2001 10.0.1.196 OpenEJB ORB Adapter
>     4201 10.0.1.196 OpenEJB Daemon
>     6882 10.0.1.196 OpenEJB ORB Adapter
>     8009 10.0.1.196 Tomcat Connector AJP AJP
>     8080 10.0.1.196 Tomcat Connector HTTP BIO HTTP
>     8443 10.0.1.196 Tomcat Connector HTTPS BIO HTTPS
>     9999 10.0.1.196 JMX Remoting Connector
>    61613 0.0.0.0    ActiveMQ Transport Connector
>    61616 0.0.0.0    ActiveMQ Transport Connector
> Netstat shows:
> $ netstat -an | grep LISTEN
> tcp6       0      0  fe80::1%lo0.631        *.*                    LISTEN
> tcp4       0      0  *.6882                 *.*                    LISTEN
> tcp4       0      0  *.2001                 *.*                    LISTEN
> tcp4       0      0  *.63569                *.*                    LISTEN
> tcp4       0      0  *.1050                 *.*                    LISTEN
> tcp4       0      0  10.0.1.196.4201        *.*                    LISTEN
> tcp4       0      0  *.61613                *.*                    LISTEN
> tcp4       0      0  *.61616                *.*                    LISTEN
> tcp4       0      0  10.0.1.196.1527        *.*                    LISTEN
> tcp4       0      0  10.0.1.196.8443        *.*                    LISTEN
> tcp4       0      0  10.0.1.196.8009        *.*                    LISTEN
> tcp4       0      0  10.0.1.196.8080        *.*                    LISTEN
> tcp4       0      0  *.9999                 *.*                    LISTEN
> tcp4       0      0  *.1099                 *.*                    LISTEN

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message