Uploaded image for project: 'Karaf'
  1. Karaf
  2. KARAF-3887

JMXRMI over SSL - Exceptions on Karaf Shutdown

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Not A Problem
    • 2.4.3
    • None
    • karaf
    • None

    Description

      We are using JMXRMI over SSL connector as described at JBoss Fuse 6 documentation [1]. This has worked flawlessly with Karaf 2.4.1 (as base for ServiceMix 4.5.0) but causes exceptions on container shutdown for version 2.4.3. During runtime the SSL connector is working though as before.

      Exceptions: StackTrace 1

      Exception in thread "JMX Connector Thread [service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root]" java.lang.RuntimeException: Could not start JMX connector server
              at org.apache.karaf.management.ConnectorServerFactory$1.run(ConnectorServerFactory.java:272)
      Caused by: java.io.IOException: Cannot bind to URL [rmi://0.0.0.0:1099/karaf-root]: javax.naming.CommunicationException [Root exception is java.rmi.NoSuchObjectException: no such object in table]
              at javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConnectorServer.java:827)
              at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:432)
              at org.apache.karaf.management.ConnectorServerFactory$1.run(ConnectorServerFactory.java:259)
      Caused by: javax.naming.CommunicationException [Root exception is java.rmi.NoSuchObjectException: no such object in table]
              at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:147)
              at com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.java:228)
              at javax.naming.InitialContext.bind(InitialContext.java:425)
              at javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:644)
              at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:427)
              ... 1 more
      Caused by: java.rmi.NoSuchObjectException: no such object in table
              at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
              at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
              at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:379)
              at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
              at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:141)
              ... 5 more
      

      StackTrace 2

      Exception in thread "JMX Connector Thread [service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root]" java.lang.RuntimeException:
      Port already in use: 44444;
      You may have started two containers.  If you need to start a second container or the default ports are already in use update the config file etc/org.apache.karaf.management.cfg and change the Registry Port and Server Port to unused ports
              at org.apache.karaf.management.ConnectorServerFactory$1.run(ConnectorServerFactory.java:268)
      

      etc/org.apache.karaf.management.cfg#ObjectName

      #
      # The ObjectName used to register the JMXConnectorServer
      #
      objectName = connector:name=rmi
      keyStoreAvailabilityTimeout = 5000
      keyStore = karaf.keystore
      # keyAlias maps to keystore.xml keyPasswords alias
      keyAlias = local-test
      secured = true
      authenticatorType = password
      trustStore = karaf.keystore
      secureAlgorithm = default
      secureProtocol = SSL
      

      The issue can be recreated using stock Karaf download with the following steps:

      • copy attached keystore.xml and org.apache.felix.fileinstall-keystore.cfg to ./etc folder
      • copy self-signed keystore file (karaf.jmx.ssl.jks) to etc folder
      • modify etc/org.apache.karaf.management.cfg as shown below (or use modified copy attached to issue)
      • run container, check exceptions on shutdown

      [1] https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Security_Guide/files/ESBSecurityJmxSSL.html

      Attachments

        1. org.apache.karaf.management.cfg
          2 kB
          Michael Taeschner
        2. keystore.xml
          1 kB
          Michael Taeschner
        3. keys.properties
          2 kB
          Michael Taeschner
        4. karaf.jmx.ssl.jks
          2 kB
          Michael Taeschner

        Activity

          People

            Unassigned Unassigned
            mitaes Michael Taeschner
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: