You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Jiri Daněk (JIRA)" <ji...@apache.org> on 2017/10/05 11:03:00 UTC

[jira] [Created] (ARTEMIS-1449) Artemis does not start on Oracle JDK 9

Jiri Daněk created ARTEMIS-1449:
-----------------------------------

             Summary: Artemis does not start on Oracle JDK 9
                 Key: ARTEMIS-1449
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1449
             Project: ActiveMQ Artemis
          Issue Type: Bug
          Components: Broker
    Affects Versions: 2.4.0
         Environment: {noformat}
$ java --version
java 9
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
{noformat}
            Reporter: Jiri Daněk
            Priority: Minor


{noformat}
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
{noformat}

If I add the module in {{artemis.profile}}

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

I then get

{noformat}
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
{noformat}

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

{noformat}
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()
{noformat}

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.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)