Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-1449

Artemis does not start on Oracle JDK 9

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.4.0
    • 2.6.0
    • Broker
    • None

    Description

      apache-artemis-2.4.0-20171004.165128-60-bin]$ i0/bin/artemis run
      Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option UseFastAccessorMethods; support was removed in 9.0
           _        _               _
          / \  ____| |_  ___ __  __(_) _____
         / _ \|  _ \ __|/ _ \  \/  | |/  __/
        / ___ \ | \/ |_/  __/ |\/| | |\___ \
       /_/   \_\|   \__\____|_|  |_|_|/___ /
       Apache ActiveMQ Artemis 2.4.0-SNAPSHOT
      
      
      Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext
              at org.apache.activemq.artemis.dto.XmlUtil.decode(XmlUtil.java:90)
              at org.apache.activemq.artemis.cli.factory.xml.XmlBrokerFactoryHandler.createBroker(XmlBrokerFactoryHandler.java:35)
              at org.apache.activemq.artemis.cli.factory.BrokerFactory.createBrokerConfiguration(BrokerFactory.java:46)
              at org.apache.activemq.artemis.cli.factory.BrokerFactory.createBrokerConfiguration(BrokerFactory.java:53)
              at org.apache.activemq.artemis.cli.commands.Configurable.getBrokerDTO(Configurable.java:105)
              at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:65)
              at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:149)
              at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:96)
              at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:123)
              at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.base/java.lang.reflect.Method.invoke(Method.java:564)
              at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:129)
              at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:49)
      Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext
              at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466)
              at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:563)
              at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
              ... 15 more
      

      If I add the module in artemis.profile

      JAVA_ARGS=" --add-modules java.xml.bind [...]
      

      I then get

      apache-artemis-2.4.0-20171004.165128-60-bin]$ i0/bin/artemis run
      Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option UseFastAccessorMethods; support was removed in 9.0
           _        _               _
          / \  ____| |_  ___ __  __(_) _____
         / _ \|  _ \ __|/ _ \  \/  | |/  __/
        / ___ \ | \/ |_/  __/ |\/| | |\___ \
       /_/   \_\|   \__\____|_|  |_|_|/___ /
       Apache ActiveMQ Artemis 2.4.0-SNAPSHOT
      
      
      WARNING: An illegal reflective access operation has occurred
      WARNING: Illegal reflective access by io.netty.util.internal.ReflectionUtil (file:/home/jdanek/Downloads/AMQ7/apache-artemis-2.4.0-20171004.165128-60-bin/apache-artemis-2.4.0-SNAPSHOT/lib/netty-all-4.1.16.Final.jar) to constructor java.nio.DirectByteBuffer(long,int)
      WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.ReflectionUtil
      WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
      WARNING: All illegal access operations will be denied in a future release
      12:10:31,825 INFO  [org.apache.activemq.artemis.integration.bootstrap] AMQ101000: Starting ActiveMQ Artemis Server
      12:10:31,891 INFO  [org.apache.activemq.artemis.core.server] AMQ221000: live Message Broker is starting with configuration Broker Configuration (clustered=false,journalDirectory=./data/journal,bindingsDirectory=./data/bindings,largeMessagesDirectory=./data/large-messages,pagingDirectory=./data/paging)
      12:10:31,923 INFO  [org.apache.activemq.artemis.core.server] AMQ221013: Using NIO Journal
      12:10:31,953 INFO  [org.apache.activemq.artemis.core.server] AMQ221057: Global Max Size is being adjusted to 1/2 of the JVM max size (-Xmx). being defined as 1,073,741,824
      12:10:31,981 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-server]. Adding protocol support for: CORE
      12:10:31,982 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-amqp-protocol]. Adding protocol support for: AMQP
      12:10:31,983 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-hornetq-protocol]. Adding protocol support for: HORNETQ
      12:10:31,984 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-mqtt-protocol]. Adding protocol support for: MQTT
      12:10:31,984 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-openwire-protocol]. Adding protocol support for: OPENWIRE
      12:10:31,985 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-stomp-protocol]. Adding protocol support for: STOMP
      12:10:32,047 INFO  [org.apache.activemq.artemis.core.server] AMQ221034: Waiting indefinitely to obtain live lock
      12:10:32,048 INFO  [org.apache.activemq.artemis.core.server] AMQ221035: Live Server Obtained live lock
      12:10:32,397 INFO  [org.apache.activemq.artemis.core.server] AMQ221003: Deploying queue DLQ on address DLQ
      12:10:32,445 INFO  [org.apache.activemq.artemis.core.server] AMQ221003: Deploying queue ExpiryQueue on address ExpiryQueue
      12:10:32,745 INFO  [org.apache.activemq.artemis.core.server] AMQ221020: Started EPOLL Acceptor at 0.0.0.0:61616 for protocols [CORE,MQTT,AMQP,STOMP,HORNETQ,OPENWIRE]
      12:10:32,748 INFO  [org.apache.activemq.artemis.core.server] AMQ221020: Started EPOLL Acceptor at 0.0.0.0:5445 for protocols [HORNETQ,STOMP]
      12:10:32,750 INFO  [org.apache.activemq.artemis.core.server] AMQ221020: Started EPOLL Acceptor at 0.0.0.0:5672 for protocols [AMQP]
      12:10:32,751 INFO  [org.apache.activemq.artemis.core.server] AMQ221020: Started EPOLL Acceptor at 0.0.0.0:1883 for protocols [MQTT]
      12:10:32,752 INFO  [org.apache.activemq.artemis.core.server] AMQ221020: Started EPOLL Acceptor at 0.0.0.0:61613 for protocols [STOMP]
      12:10:32,760 INFO  [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live
      12:10:32,760 INFO  [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.4.0-SNAPSHOT [0.0.0.0, nodeID=6babdf5f-a9b5-11e7-84b4-507b9d9c01e9] 
      12:10:33,288 INFO  [org.apache.activemq.hawtio.branding.PluginContextListener] Initialized activemq-branding plugin
      12:10:33,321 INFO  [org.apache.activemq.hawtio.plugin.PluginContextListener] Initialized artemis-plugin plugin
      12:10:33,644 INFO  [io.hawt.HawtioContextListener] Initialising hawtio services
      12:10:33,671 INFO  [io.hawt.system.ConfigManager] Configuration will be discovered via system properties
      12:10:33,676 INFO  [io.hawt.jmx.JmxTreeWatcher] Welcome to hawtio 1.5.4 : http://hawt.io/ : Don't cha wish your console was hawt like me? ;-)
      12:10:33,713 INFO  [io.hawt.jmx.UploadManager] Using file upload directory: /home/jdanek/Downloads/AMQ7/apache-artemis-2.4.0-20171004.165128-60-bin/i0/tmp/uploads
      12:10:33,729 INFO  [io.hawt.web.AuthenticationFilter] Starting hawtio authentication filter, JAAS realm: "activemq" authorized role(s): "amq" role principal classes: "org.apache.activemq.artemis.spi.core.security.jaas.RolePrincipal"
      12:10:33,759 INFO  [io.hawt.web.JolokiaConfiguredAgentServlet] Jolokia overridden property: [key=policyLocation, value=file:/home/jdanek/Downloads/AMQ7/apache-artemis-2.4.0-20171004.165128-60-bin/i0//etc/jolokia-access.xml]
      12:10:33,786 INFO  [io.hawt.web.RBACMBeanInvoker] Using MBean [hawtio:type=security,area=jmx,rank=0,name=HawtioDummyJMXSecurity] for role based access control
      12:10:34,172 INFO  [io.hawt.system.ProxyWhitelist] Initial proxy whitelist: [localhost, 127.0.0.1, 10.40.1.175, dhcp-10-40-1-175.brq.redhat.com, 10.200.158.3]
      12:10:34,459 INFO  [org.apache.activemq.artemis] AMQ241001: HTTP Server started at http://localhost:8161
      12:10:34,460 INFO  [org.apache.activemq.artemis] AMQ241002: Artemis Jolokia REST API available at http://localhost:8161/jolokia
      12:10:34,460 INFO  [org.apache.activemq.artemis] AMQ241004: Artemis Console available at http://localhost:8161/console
      

      If I also add --illegal-access=warn, I got these two warnings

      WARNING: Illegal reflective access by io.netty.util.internal.ReflectionUtil (file:/home/jdanek/Downloads/AMQ7/apache-artemis-2.4.0-20171004.165128-60-bin/apache-artemis-2.4.0-SNAPSHOT/lib/netty-all-4.1.16.Final.jar) to constructor java.nio.DirectByteBuffer(long,int)
      WARNING: Illegal reflective access by io.netty.util.internal.ReflectionUtil (file:/home/jdanek/Downloads/AMQ7/apache-artemis-2.4.0-20171004.165128-60-bin/apache-artemis-2.4.0-SNAPSHOT/lib/netty-all-4.1.16.Final.jar) to method java.nio.Bits.unaligned()
      

      The broker seems to work fine (I executed tests in https://github.com/rh-messaging/cli-java against it), and Hawtio console seems to work fine too at this point.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jdanek Jiri Daněk
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: