activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Bertram <jbert...@redhat.com>
Subject Re: wildfly-10.1.0.Final integration for MQTT not working
Date Tue, 26 Sep 2017 15:55:57 GMT
The Artemis integration code for Wildfly is in the Wildfly project [1].

The problem you hit in Wildfly 11.0.0.CR1 looks odd to me.  The
class io.netty.handler.codec.mqtt.MqttEncoder from Netty 4.1.9.Final (which
ships in Wildfly) does, in fact, contain the field "INSTANCE" so I'm not
sure why you would be getting this exception unless there was something odd
going on with the classloading or something.

Also, the integration instructions in the WFLY-9372 JIRA say to
copy netty-codec-mqtt-5.0.0.Alpha2.jar into
the org.apache.activemq.artemis.protocol.mqtt module, but that shouldn't be
necessary in Wildfly 11.0.0.CR1 as the io.netty module already contains
those classes.  I also don't see why
the org.apache.activemq.artemis.protocol.mqtt module would need
dependencies on javax.jms.api, javax.api, or org.slf4j.


Justin

[1] https://github.com/wildfly/wildfly (see the "messaging-activemq" module)

On Tue, Sep 26, 2017 at 10:17 AM, thoutekier <thomas.houtekier@barco.com>
wrote:

> * using artemis-1.1.0 standalone works out-of-the-box: it has by default
> support for MQTT in the config, and it works if I connect using an
> MQTT-client
>
> * using Wildfly-11.0.0.CR1:
> 2017-09-26 17:12:25,837 WARNING [io.netty.channel.DefaultChannelPipeline]
> (Thread-2 (activemq-netty-threads)) An exceptionCaught() event was fired,
> and it reached at the tail of the pipeline. It usually means the last
> handler in the pipeline did not handle the exception.:
> io.netty.handler.codec.DecoderException: java.lang.NoSuchFieldError:
> INSTANCE
>         at
> io.netty.handler.codec.ByteToMessageDecoder.callDecode(
> ByteToMessageDecoder.java:442)
>         at
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(
> ByteToMessageDecoder.java:248)
>         at
> org.apache.activemq.artemis.core.protocol.ProtocolHandler$
> ProtocolDecoder.channelRead(ProtocolHandler.java:128)
>         at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(
> AbstractChannelHandlerContext.java:362)
>         at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(
> AbstractChannelHandlerContext.java:348)
>         at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(
> AbstractChannelHandlerContext.java:340)
>         at
> io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(
> DefaultChannelPipeline.java:1334)
>         at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(
> AbstractChannelHandlerContext.java:362)
>         at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(
> AbstractChannelHandlerContext.java:348)
>         at
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(
> DefaultChannelPipeline.java:926)
>         at
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(
> AbstractNioByteChannel.java:134)
>         at
> io.netty.channel.nio.NioEventLoop.processSelectedKey(
> NioEventLoop.java:624)
>         at
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(
> NioEventLoop.java:559)
>         at
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(
> NioEventLoop.java:476)
>         at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438)
>         at
> io.netty.util.concurrent.SingleThreadEventExecutor$5.
> run(SingleThreadEventExecutor.java:858)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.NoSuchFieldError: INSTANCE
>         at
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTProtocolManager.
> addChannelHandlers(MQTTProtocolManager.java:113)
>         at
> org.apache.activemq.artemis.core.protocol.ProtocolHandler$
> ProtocolDecoder.decode(ProtocolHandler.java:181)
>         at
> io.netty.handler.codec.ByteToMessageDecoder.callDecode(
> ByteToMessageDecoder.java:411)
>         ... 16 more
>
>
> So it seems that it is in fact a problem in Wildfly.
> Any idea where I could find the code for the artemis-integration in wildly?
> I don't find any branch/tag on
> https://github.com/apache/activemq-artemis/tree/1.x/
> artemis-protocols/artemis-mqtt-protocol
> for "artemis-mqtt-protocol-1.1.0.wildfly-017"
>
>
>
>
>
> --
> Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-
> f2341805.html
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message