glassfish
  1. glassfish
  2. GLASSFISH-20713

GlassFish Broker's Use Of An RMI Registry Port Must Be Configurable And Documented

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: jms
    • Labels:
      None
    • Environment:

      OS: Any
      Platform: GFv3122+

      Description

      When you create a stock GFv3122/3125 and then set the MQ broker to be
      eagerly started up (compared to lazy init)

       <jms-service default-jms-host="default_JMS_host">
           <jms-host port="7676" host="localhost" name="default_JMS_host" 
            lazy-init="false" >
       </jms-host>
      

      the GF embedded broker will have an extra port usage of 7676+100 and not
      able to reused the GlassFish DAS RMIregistry (similar maybe GF-18147)

      Logs with FINE logging

      ...
      [#|2013-07-17T00:03:43.642+0000|FINE|oracle-glassfish3.1.2|javax.enterprise.resource.jms.com.sun.enterprise.connectors.jms.system|_ThreadID=1;_ThreadName=main;ClassName=com.sun.enterprise.connectors.jms.system.ActiveJmsResourceAdapter;MethodName=isASRmiRegistryPortAvailable;|Attempting to list rmi://0.0.0.0:8888|#]

      [#|2013-07-17T00:03:43.671+0800|FINE|oracle-glassfish3.1.2|javax.enterprise.resource.jms.com.sun.enterprise.connectors.jms.system|_ThreadID=1;_ThreadName=main;ClassName=com.sun.enterprise.connectors.jms.system.ActiveJmsResourceAdapter;MethodName=isASRmiRegistryPortAvailable;|Connection refused to host: 0.0.0.0; nested exception is:
      java.net.ConnectException: Connection refused rmi://0.0.0.0:8888|#]
      ...
      [#|2013-07-18T10:40:03.670+0000|INFO|oracle-glassfish3.1.2|javax.resourceadapter
      .mqjmsra.lifecycle|_ThreadID=1;_ThreadName=main;|MQJMSRA_RA1101: GlassFish MQ JM
      S Resource Adapter starting: broker is EMBEDDED, connection mode is Direct|#]
      ...
      [#|2013-07-18T10:40:02.805+0800|FINE|oracle-glassfish3.1.2|javax.enterprise.reso
      urce.resourceadapter.com.sun.enterprise.connectors|_ThreadID=1;_ThreadName=main;
      ClassName=com.sun.enterprise.connectors.ActiveOutboundResourceAdapter;MethodName
      =logMergedProperties;|
      Name: doBind Value: true
      Name: RmiRegistryPort Value: 7776
      Name: BrokerPort Value: 7676
      ...
      [#|2013-07-18T10:40:08.660+0000|INFO|oracle-glassfish3.1.2|javax.enterprise.system.jmx.org.glassfish.admin.mbeanserver|_ThreadID=54;_ThreadName=Thread-25;|JMX005: JMXStartupService had Started JMXConnector on JMXService URL service:jmx:rmi://host:8888/jndi/rmi://host:8888/jmxrmi|#]

      The key take away from this is that when MQ broker is eagerly started from ASMain (main thread) and at that time GlassFish JMX is not initialized yet so the RMIRegistry (8888 that tied to the GF JMX) is not up. This forces MQ to create it's own Portmapper(7676)+100 port.

      Concerns:

      • Should MQ be started after the JMX is done so to be able to reuse GF RMIRegistry
      • There is an extra port MQ_Portmapper+100 (not configurable) created

        Activity

          People

          • Assignee:
            David Zhao
            Reporter:
            tecknobabble
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: