FWIW I just integrated MQTT with Wildfly 11.0.0.CR1 and
ran 
org.apache.activemq.artemis.tests.integration.mqtt.imported.MQTTTest#testSendAndReceiveMQTT
against it and everything worked.


Justin

On Tue, Sep 26, 2017 at 10:55 AM, Justin Bertram <jbert...@redhat.com>
wrote:

> 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.houtek...@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(ByteT
>> oMessageDecoder.java:442)
>>         at
>> io.netty.handler.codec.ByteToMessageDecoder.channelRead(Byte
>> ToMessageDecoder.java:248)
>>         at
>> org.apache.activemq.artemis.core.protocol.ProtocolHandler$Pr
>> otocolDecoder.channelRead(ProtocolHandler.java:128)
>>         at
>> io.netty.channel.AbstractChannelHandlerContext.invokeChannel
>> Read(AbstractChannelHandlerContext.java:362)
>>         at
>> io.netty.channel.AbstractChannelHandlerContext.invokeChannel
>> Read(AbstractChannelHandlerContext.java:348)
>>         at
>> io.netty.channel.AbstractChannelHandlerContext.fireChannelRe
>> ad(AbstractChannelHandlerContext.java:340)
>>         at
>> io.netty.channel.DefaultChannelPipeline$HeadContext.
>> channelRead(DefaultChannelPipeline.java:1334)
>>         at
>> io.netty.channel.AbstractChannelHandlerContext.invokeChannel
>> Read(AbstractChannelHandlerContext.java:362)
>>         at
>> io.netty.channel.AbstractChannelHandlerContext.invokeChannel
>> Read(AbstractChannelHandlerContext.java:348)
>>         at
>> io.netty.channel.DefaultChannelPipeline.fireChannelRead(Defa
>> ultChannelPipeline.java:926)
>>         at
>> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.
>> read(AbstractNioByteChannel.java:134)
>>         at
>> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEven
>> tLoop.java:624)
>>         at
>> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimiz
>> ed(NioEventLoop.java:559)
>>         at
>> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEve
>> ntLoop.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.MQTTProtocolM
>> anager.addChannelHandlers(MQTTProtocolManager.java:113)
>>         at
>> org.apache.activemq.artemis.core.protocol.ProtocolHandler$Pr
>> otocolDecoder.decode(ProtocolHandler.java:181)
>>         at
>> io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteT
>> oMessageDecoder.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
>>
>
>

Reply via email to